Ea
发表于 2004-2-10 13:36:00
(- 0 dist) -> (- dist)
建议(个人习惯)
(if (setq ss ....)
(vlax-for .....
)
)
无痕
发表于 2004-2-10 13:56:00
谢谢,哦对了。昨晚我没注意看信息。谢谢你给的链接
hkzwsy
发表于 2004-2-10 15:43:00
将偏移距离改成复制距离应该怎样修改楼上的程序?
3stone
发表于 2004-2-12 16:26:00
能否实现这样细节:(如图)
1、提示选择中心线,然后提示输入三个距离(由里向外的道路断面:车行道,人行道,绿带:a ,b,c。其中b和c 可以为0。)生成的三对直线分别在相应的图层上。
如果b和c为0,就只OFFSET车行路宽a.同理,c=0,a 和b不为0.
2、另外,第二次运行命令时提示输入距离的时候,系统显示上次的距离为默认,当然也可重新输入新距离。
BDYCAD
发表于 2004-2-12 16:57:00
第一個要改的改程序要長點哦. 這些天忙閑了再看看. 或其它大俠看看.
第二個問題的程序:
(defun c:x2 (/ ss vss dist)<BR> (princ "\n????v.1.1-------by ?痕.2004.2\n??要??的曲?:")<BR> (setq ss (ssget '((0 . "*line,arc,ellipse,circle,spline")) )<BR> vss (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object))))<BR> (IF (= ASDFS NIL) (SETQ dist 0.00))<BR> (PRINC (STRCAT "\n請入偏移距离<"(RTOS ASDFS 2 2)">:"))<BR> (SETQ dist (getdist ))<BR> (IF (= dist NIL) (SETQ dist ASDFS))<BR> (vlax-for obj vss (vla-offset obj dist)(vla-offset obj (- 0 dist)))<BR> (SETQ ASDFS dist)<BR>)
无痕
发表于 2004-2-12 19:32:00
(or (and(setq a (getdist))(setq b a))(setq a b)(setq a 0))
:)
WRS888
发表于 2004-3-2 01:06:00
改一下过滤,重贴(defun c:x2 (/ ss vss dist) (vl-load-com)
(princ "\n单线变双v.1.1-------by 无痕.2004.2\n选择要变双的曲线:")
(setq ss (ssget '((0 . "Arc,Circle,Ellipse,Line,LwPolyline,Polyline,Spline,XLine")) )
vss (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object)))
dist (getdist "\n输入偏移距离:"))
(vlax-for obj vss (vla-offset obj dist)(vla-offset obj (- 0 dist)))
)
----------------------------------------------
xdcad论坛游侠
http://www.xdcad.com/forum/ 我运行后发现在不规则曲线的偏移值越大就越难看
xqw
发表于 2004-8-6 00:00:00
X2不能用
yansu
发表于 2009-8-19 08:53:00
如何删除原线
jxlsp
发表于 2009-8-19 10:05:00
yansu发表于2009-8-19 8:53:00static/image/common/back.gif如何删除原线(defun c:x2 (/ ss vss dist)
(vl-load-com)
(princ "\n单线变双v.1.1-------by 无痕.2004.2\n选择要变双的曲线:")
(setq ss (ssget'((0 . "Arc,Circle,Ellipse,Line,LwPolyline,Polyline,Spline,XLine")) )
vss (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object)))
dist (getdist "\n输入偏移距离:"))
(vlax-for obj vss (vla-offset obj dist)(vla-offset obj (- 0 dist))(vla-erase obj));删除原线
)