本帖最后由 zhb236623 于 2011-7-16 21:04 编辑
 - (defun c:hp()
- (setvar "CMDECHO" 0)
- (setq blc_cass7 (getvar "userr1"))
- (cond ( ( = blc_cass7 500)
- (princ "比例尺,,,,,为500")
- (setq nn 0.5)
- )
-
-
- ( ( = blc_cass7 200)
- (princ "比例尺,,,,,为200")
- (setq nn 0.2)
- )
-
-
- ( ( = blc_cass7 1000)
- (setq nn 1)
- (princ)
- )
-
- ( (and ( /= blc_cass7 500) ( /= blc_cass7 200) ( /= blc_cass7 1000))
- (princ "比例尺不为1:500,1:200,1:1000请检查比例尺设置,程序将退出。")
- (exit)
- )
- (princ "程序正常运行")
- (princ)
- )
- (if (= (tblobjname "layer" "ZBTZ_tmp") nil)
- (progn
- (princ "图层ZBTZ_tmp不存在,新建图层ZBTZ_tmp完成,导入数据将存放在ZBTZ_tmp层")
- (command ".layer" "n" "ZBTZ_tmp" "s" "ZBTZ_tmp" "")
-
- )
- (progn
- (command "layer" "s" "ZBTZ_tmp" "")
- (princ "ZBTZ_tmp图层已存在,导入数据将存放在ZBTZ_tmp层,完成导入")
- )
- )
- (setq s1 (ssget '((0 . "LWPOLYLINE"))))
- (command "measure" s1 10)
- (if (setq ss (ssget "P" '((0 . "POINT"))))
- (progn
- (setq i 1)
- (setq pt (cdr(assoc 10 (entget(ssname ss 0)))))
- (command "insert" "gc124" pt nn nn "0" )
- (repeat (1- (sslength ss))
- (setq pt (cdr(assoc 10 (entget(ssname ss i)))) i (1+ i))
- (command "insert" "gc124" pt nn nn "0" )
- )
- (princ)
- )
- )
- (command "erase" ss "")
- (setq tttc (ssget "X" '((8 . "ZBTZ_tmp")))) ;;选择ZBTZ_tmp图层所有元素。
- (command "putp" "c" "215401" tttc "") ;;;;这里"215401"要加引号,不加好像不行
- ;(command "change" tttc "" "p" "la" "ZBTZ_tmp" "")
- (setvar "CMDECHO" 1)
- (princ)
- )
1.先画条直线,再执行此命令,即可。(部分程序来自明经)
2.(提问)但是不能加入属性,PUTP这句要怎么写。可以先把ZBTZ图层改为ZBTZ_tmp图层。再;(setq tttc '((8 . "ZBTZ_tmp"))),然后再PUTP刷属性。但是这句不怎么会写。
3(提问) command 命令下哪些参数是要加 “” 如 (command "insert" "gc124" pt nn nn "0" )
然后什么时候要在参数中间加 “”, 这个没搞明白,每次都 要试验好几回 。。。。。。
|