指定线型的路径
您好,我想从topo加载线型。lin文件。这是我的密码。(DEFUN
C:fen (/ A1 KLIM PER S1 S2 SCL)
(COMMAND "_layer" "_m" "fen" "_c" "140" "" "_LT" "" "C:\\topocad\\topo.lin\\fen" "")
(SETQ SCL (GETVAR "useri1"))
(SETQ KLIM (* 0.005 SCL))
(SETQ PER "Fen")
(COMMAND "_linetype" "_s" "C:\\topocad\\topo.lin\\fen" "")
(PRINT "")
(SETQ S1 (GETPOINT "give the first point :"))
(PRINT "")
(WHILE (SETQ S2 (GETPOINT S1 " give the second point:"))
(PRINT "")
(COMMAND "_line" "non" S1 "non" S2 "")
(COMMAND "_CHPROP" (ENTLAST) "" "_S" KLIM "")
(SETQ S1 S2)
)
)
当我运行代码时,会得到以下结果
你能帮忙吗?
谢谢 我认为您没有指定要加载的线型:
(COMMAND "_linetype" "_L" "NameOfYourLIneType" "C:\\topocad\\topo.lin\\fen.lin" "")
要使其成为电流,可能还需要检查CELTYPE系统变量。 lin文件是topo。林你为什么写芬。林? 试试这个:
(DEFUN C:fen ( / A1 KLIM S1 S2 SCL )
(COMMAND "_.-linetype" "_L" "fen" "C:\\topocad\\topo.lin")
(COMMAND "_.-layer" "_m" "fen" "_c" "140" "" "_LT" "fen" "" "")
(SETQ SCL (GETVAR "useri1"))
(SETQ KLIM (* 0.005 SCL))
(PRINT "")
(SETQ S1 (GETPOINT "give the first point :"))
(PRINT "")
(WHILE (SETQ S2 (GETPOINT S1 " give the second point:"))
(PRINT "")
(COMMAND "_.line" "non" S1 "non" S2 "")
(COMMAND "_.change" (entlast) "" "_P" "_LT" "fen" "_S" KLIM "")
(SETQ S1 S2)
)
(PRINC)
)
marko_ribar现在给了我这个
也许是这样。
(DEFUN C:fen (/ A1 KLIM OLD_CLT PER S1 S2 SCL)
(setq old_clt (getvar 'CELTYPE))
(if (and (not (tblsearch "ltype" "fen"))
(findfile "C:\\topocad\\topo.lin")
)
(command "-linetype" "l" "fen" "C:\\topocad\\topo.lin" "")
)
(if (tblsearch "ltype" "fen")
(progn
(COMMAND "_layer" "_m" "fen" "_c" "140" "fen" "_lt" "fen" "fen" "")
(SETQ SCL (GETVAR "useri1"))
(SETQ KLIM (* 0.005 SCL))
;; (SETQ PER "Fen") ?????
(COMMAND "_linetype" "_s" "fen" "")
;;(PRINT "")
(SETQ S1 (GETPOINT "\nSpecify the first point :"))
;;(PRINT "")
(WHILE (SETQ S2 (GETPOINT S1 "\nSpecify the second point:"))
;;(PRINT "")
(COMMAND "_line" "non" S1 "non" S2 "")
(COMMAND "_CHPROP" (ENTLAST) "" "_S" KLIM "")
(SETQ S1 S2)
)
(setvar 'CELTYPE old_clt)
)
)
(princ)
)
HTH公司
亨里克 嗯,席尔瓦,这是工作,谢谢
不客气prodromosm
很高兴我能帮忙
亨里克 任何人都可以在lisp的末尾添加选项吗
是否要将该直线转换为多段线
(DEFUN C:fen (/ A1 KLIM OLD_CLT PER S1 S2 SCL)
(setq old_clt (getvar 'CELTYPE))
(if (and (not (tblsearch "ltype" "fen"))
(findfile "C:\\topocad\\topo.lin")
)
(command "-linetype" "l" "fen" "C:\\topocad\\topo.lin" "")
)
(if (tblsearch "ltype" "fen")
(progn
(COMMAND "_layer" "_m" "fen" "_c" "140" "fen" "_lt" "fen" "fen" "")
(SETQ SCL (GETVAR "useri1"))
(SETQ KLIM (* 0.005 SCL))
;; (SETQ PER "Fen") ?????
(COMMAND "_linetype" "_s" "fen" "")
;;(PRINT "")
(SETQ S1 (GETPOINT "\nSpecify the first point :"))
;;(PRINT "")
(WHILE (SETQ S2 (GETPOINT S1 "\nSpecify the second point:"))
;;(PRINT "")
(COMMAND "_line" "non" S1 "non" S2 "")
(COMMAND "_CHPROP" (ENTLAST) "" "_S" KLIM "")
(SETQ S1 S2)
)
(setvar 'CELTYPE old_clt)
)
)
(princ)
)
(initget "Yes No")
(setq convert (cond ( (getkword "\nConvert to polylines? <Y>: ") ) ( "Yes" )))
(if ( "Yes" convert)
(command "_.pedit" "_M" "" "_J" "" ""))
)
我不知道如何连接它们
谢谢 既然例程只绘制一条线段,为什么不直接将其创建为多段线?
(COMMAND "_Pline" "non" S1 "non" S2 "")
页:
[1]
2