土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ 原代码公开

原代码公开

发布于:2004-09-05 15:07:05 来自:建筑设计/CAD下载及教程 [复制转发]
(setq PrefStage "偏轴距:"
PrefLevel "高程:"
)
(setq NPopenFileName nil)
(setq defaulteditfilepath "c:\\")
(setq ReturnOffDist nil)
(setq ReturnLayerName nil)
;设置原点
(setq filepath "c:\\")
(setq judge 1)
(setq Ju 0)
(setq Je 0)

;读断面点坐标
(defun c:RO3 ()

(grtext -1
"读出点位坐标(相对于设置的原点) 按 F1 获取帮助"
)

(if (/= (setq ro (getpoint "\n请输入一点:")) nil)
(progn
(setq ResultCorX (+ (- (car ro) (car Ori)) (car OriV)))
(setq ResultCorY (+ (- (cadr ro) (cadr Ori)) (cadr OriV)))
(setq ResultCorZ (+ (- (caddr ro) (caddr Ori)) (caddr OriV)))
(princ)


(setq StrX (rtos ResultCorX 2 3))
(setq stringX (strcat "X=" StrX))

(setq StrY (rtos ResultCorY 2 3))
(setq stringY (strcat "Y=" StrY))


(setq StrZ (rtos ResultCorZ 2 3))
(setq stringZ (strcat "H=" StrZ))


)
)
(princ "\n")
(princ stringX)
(princ " ")
(princ stringY)
(princ " ")
(princ stringZ)
(grtext)
(princ)
)

(defun c:aa ()
(princ "\n")
(command "setvar" "CMDECHO" "0")
(grtext -1 "求断面面积 按 F1 获取帮助")
(princ)
(princ "\n\n")
(command "-style" "qdong" "宋体" "0.4" "1" "0" "" "")
(princ)
(if (= AreaFile nil)
(progn
(setq AreaFile (getfiled "保存面积" "c:/断面面积" "AREA" 1))
(setq Af (open AreaFile "w"))
;(write-line "" Af)
(close Af)
)
)
(setq Af (open AreaFile "a"))

(setq D (getvar "cdate"))
(setq D (rtos D 2 0))
(setq year (substr D 1 4))
(setq month (substr D 5 2))
(setq dat (substr D 7 2))
(setq D (strcat year "/" month "/" Dat))
(princ)




(setq PromptArea (getstring "请输入断面桩号:"))
(setq pt (getpoint "请输入封闭图形内的一点:"))

(if (/= nil (car pt))
(progn
(command "boundary" pt "")
(setq pl (ssget "L"))
(command "area" "o" pl)
(command "erase" pl "")
(setq AreaP (getvar "AREA"))
(setq AreaP (rtos AreaP 2 3))
(princ (strcat "面积:" AreaP "㎡"))
(command "text" pt "0" (strcat Areap "㎡"))
(princ)

(setq Areap (strcat PromptArea "," AreaP))
(write-line AreaP af)

(close af)
(command "setvar" "CMDECHO" "1")
(princ)
)
(progn
(princ "取消")
(princ)
)
)

(grtext)
(princ)

)



;读断面点坐标
(defun c:RO ()
(command "-style" "qdong" "宋体" "0.4" "1" "0" "" "")
(princ)

(grtext -1
"读出点位坐标(相对于设置的原点) 按 F1 获取帮助"
)

(if (/= (setq ro (getpoint "请输入一点:"

全部回复(8 )

只看楼主 我来说两句
  • sdtcw
    sdtcw 沙发
    请问楼主,该程序能达到的目的,因为接触的lisp程序太少,能给出详细的说明就更好了,有助于我学习。谢谢!!!
    2005-09-17 10:00:17

    回复 举报
    赞同0
  • zjf8970045
    zjf8970045 板凳
    用什么语言编的 我怎么看不过 那到c++上运行发现4处错误 楼住给帮帮忙
    2005-09-06 12:57:06

    回复 举报
    赞同0
加载更多
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.08 万条内容 · 682 人订阅

猜你喜欢

阅读下一篇

提取扩展数据.lsp

(defun ReadXdata()(setq PositionInStr 2)(Setq DWX "" DWY "" PRX "" PRY "" XDTA "" SX "" SY "" EX "" EY "") (setq Str (cdr (cadr (cadr (assoc ’-3 (entget (car (entsel)) ’("NEWDATA")))))))(if (/= str nil)(progn

回帖成功

经验值 +10