Traci Dennis 发表于 2022-7-6 07:29:54

常规碰撞

如果层“electplan”已经存在,该例程将崩溃。如何添加if或cond语句。
 
例程将获取一条直线并将其转换为pline。
 
(定义c:EPL2(/taa taa1 taa2 ds)
(SETQ DS(GETVAR“DIMSCALE”))
(setvar“cmdecho”0)
(setq oldlayer(getvar“clayer”))
(setq taa(getvar“dimscale”))
(setq taa1(*0.035 taa))
(命令“-layer“m”E-POWR-COND“c”54”)
;;;;;;;;;如果线型已经存在,则崩溃;;;;;;;;;;;;;;;;;;;;;;;
(命令“-linetype”“l”“electplan”“P:/CAD dept/AutoCAD支持文件/Special Ltype/TristarCustom.lin”“))
;;;;;;;;;如果线型已经存在,则崩溃;;;;;;;;;;;;;;;;;;;;;;;
(提示“为pline选择实体”)
(SETQ SEL(SSGET))
(setq PR(ssget“p”))
(命令“PEDIT”PR“Y”“W”TAA1“J”SEL”““lt”“on”“))
(setq PR2(ssget“L”))
(命令“CHANGE”PR2““P”“LA”“E-POWR-COND”“C”“2”“LT”“ELECTplan”“))
(setvar“clayer”oldlayer)
(setvar“cmdecho”1)
(普林斯)

Lee Mac 发表于 2022-7-6 07:49:59

欢迎来到Traci论坛
 
可以使用tblsearch功能测试图形中的图层或线型表,例如:
 
(if (tblsearch "LAYER" "Your Layer")
   (princ "\nLayer already exists.")
   (princ "\nLayer doesn't exist.")
)
PS:格式化帖子中的代码。

Traci Dennis 发表于 2022-7-6 08:03:33

谢谢,如果ltype存在,我希望例程忽略load linetype line。我该怎么做?
 
 

Lee Mac 发表于 2022-7-6 08:13:32

使用not函数对测试表达式求反,即:
 
2

SLW210 发表于 2022-7-6 08:29:54

Traci Dennis,
 
请编辑您的原始帖子,包括代码标签的代码。

Traci Dennis 发表于 2022-7-6 08:39:10

if not语句有效。谢谢
 
 
页: [1]
查看完整版本: 常规碰撞