明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 3stone

[单线变双线,并保留原线]

  [复制链接]
发表于 2004-2-10 13:36:00 | 显示全部楼层
(- 0 dist) -> (- dist)


建议(个人习惯)

  1.         (if (setq ss ....)

  2.                  (vlax-for .....

  3.          )

  4. )

点评

请解释一下这样有什么好处?  发表于 2014-6-4 10:54
发表于 2004-2-10 13:56:00 | 显示全部楼层
谢谢,哦对了。昨晚我没注意看信息。谢谢你给的链接
发表于 2004-2-10 15:43:00 | 显示全部楼层
将偏移距离改成复制距离应该怎样修改楼上的程序?
 楼主| 发表于 2004-2-12 16:26:00 | 显示全部楼层
能否实现这样细节:(如图)


1、提示选择中心线,然后提示输入三个距离(由里向外的道路断面:车行道,人行道,绿带:a ,b,c。其中b和c 可以为0。)生成的三对直线分别在相应的图层上。


如果b和c为0,就只OFFSET车行路宽a.同理,c=0,a 和b不为0.


2、另外,第二次运行命令时提示输入距离的时候,系统显示上次的距离为默认,当然也可重新输入新距离。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-2-12 16:57:00 | 显示全部楼层
第一個要改的改程序要長點哦. 這些天忙閑了再看看. 或其它大俠看看. 第二個問題的程序: (defun c:x2 (/ ss vss dist)
(princ "\n????v.1.1-------by ?痕.2004.2\n??要??的曲?:")
(setq ss (ssget '((0 . "*line,arc,ellipse,circle,spline")) )
vss (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object))))
(IF (= ASDFS NIL) (SETQ dist 0.00))
(PRINC (STRCAT "\n請入偏移距离<"(RTOS ASDFS 2 2)">:"))
(SETQ dist (getdist ))
(IF (= dist NIL) (SETQ dist ASDFS))
(vlax-for obj vss (vla-offset obj dist)(vla-offset obj (- 0 dist)))
(SETQ ASDFS dist)
)
发表于 2004-2-12 19:32:00 | 显示全部楼层
(or (and(setq a (getdist))(setq b a))(setq a b)(setq a 0))


:)
发表于 2004-3-2 01:06:00 | 显示全部楼层
改一下过滤,重贴
  1. (defun c:x2 (/ ss vss dist)     (vl-load-com)
  2.    (princ "\n单线变双v.1.1-------by 无痕.2004.2\n选择要变双的曲线:")
  3.    (setq ss (ssget   '((0 . "Arc,Circle,Ellipse,Line,LwPolyline,Polyline,Spline,XLine")) )
  4.   vss (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object)))
  5.                dist (getdist "\n输入偏移距离:"))
  6.    (vlax-for obj vss (vla-offset obj dist)(vla-offset obj (- 0 dist)))
  7. )
----------------------------------------------
xdcad论坛游侠
http://www.xdcad.com/forum/   我运行后发现在不规则曲线的偏移值越大就越难看
发表于 2004-8-6 00:00:00 | 显示全部楼层
X2不能用
发表于 2009-8-19 08:53:00 | 显示全部楼层
如何删除原线
发表于 2009-8-19 10:05:00 | 显示全部楼层
yansu发表于2009-8-19 8:53:00如何删除原线
  1. (defun c:x2 (/ ss vss dist)
  2.     (vl-load-com)
  3.    (princ "\n单线变双v.1.1-------by 无痕.2004.2\n选择要变双的曲线:")
  4.    (setq ss (ssget  '((0 . "Arc,Circle,Ellipse,Line,LwPolyline,Polyline,Spline,XLine")) )
  5.   vss (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object)))
  6.          dist (getdist "\n输入偏移距离:"))
  7.    (vlax-for obj vss (vla-offset obj dist)(vla-offset obj (- 0 dist))(vla-erase obj));删除原线
  8. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-24 03:00 , Processed in 0.152269 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表