offset到当前层程序一点问题
代码如下,现在有个问题,offset能记住上一次的距离,但当上一次offset的距离小于1时,默认又变成1了,怎么把下面的代码改好呢??谢谢!!;;offset到当前层程序
(defun c:ff1(/ dst ent)
(setvar "cmdecho" 1)
(if (null(setq dst (getdist(strcat "\n输入偏移距离<目前为"
(rtos(getvar "OFFSETDIST")2 0)">:"))))
(setq dst (getvar "OFFSETDIST")))
(setq ent (entsel))
(while (vl-cmdf "_.offset" dst ent pause "")
(vl-cmdf "_.change" (entlast) "" "p" "la" (getvar "clayer") "")
(setq ent(entsel))(if (null ent)(exit))
)(princ)
)
;;offset到当前层程序
(defun c:ff1 (/ dst ent)
(setvar "cmdecho" 1)
(if (null
(setq dst (getdist (strcat "\n输入偏移距离<目前为"
(rtos (getvar "OFFSETDIST") 2 0)
">:"
)
)
)
)
(setq dst (getvar "OFFSETDIST"))
(setvar "OFFSETDIST" DST)
)
(setq ent (entsel) KEY t)
(while KEY
(vl-cmdf "_.offset" dst ent pause "")
(vl-cmdf "_.change"
(entlast)
""
"p"
"la"
(getvar "clayer")
""
)
(setq ent (entsel))
(if (null ent)
(setq key nil)
)
)
(princ)
)
非常感谢楼上的兄弟, OFFSET
当前设置: 删除源=否图层=源OFFSETGAPTYPE=0
指定偏移距离或 [通过(T)/删除(E)/图层(L)] <通过>:e
要在偏移后删除源对象吗?[是(Y)/否(N)] <否>:n
指定偏移距离或 [通过(T)/删除(E)/图层(L)] <通过>:L
输入偏移对象的图层选项 [当前(C)/源(S)] <源>:S
指定偏移距离或 [通过(T)/删除(E)/图层(L)] <通过>:
指定偏移距离或 [通过(T)/删除(E)/图层(L)] <通过>:l
输入偏移对象的图层选项 [当前(C)/源(S)] <源>:c
指定偏移距离或 [通过(T)/删除(E)/图层(L)] <通过>:
选择要偏移的对象,或 [退出(E)/放弃(U)] <退出>:*取消* tony1435 发表于 2011-11-10 14:29 static/image/common/back.gif
非常感谢楼上的兄弟,
难道解决了?
问题在(rtos (getvar "OFFSETDIST") 2 0)
0变3或更大 好程序,收藏了,谢谢~
页:
[1]