明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1127|回复: 3

[已解答] 各位大师,请帮忙

[复制链接]
发表于 2014-7-17 17:50:50 | 显示全部楼层 |阅读模式
本帖最后由 杜阳 于 2014-7-17 17:53 编辑

我想选择一条多段线,定量偏移后,起点与起点连接,终点与终点连接,最后形成一个闭合的多段线,引用了一个老师的一段代码,自己加了一些,代码如下:
(Defun C:Pc(/ Ss1 ss2 p1 p2 p3 p4 Pt1 Pt2)
(vl-load-com)
  (Setvar "Cmdecho" 0)
    (Setq Pt1 (Getvar "Vsmin"))
    (Setq Pt2 (Getvar "Vsmax"))
    (Setq Ss1 (Entsel "\n 选择线:"))
    (Setq Ss2 (vla-offset (vlax-ename->vla-object (car ss1)) 0.3))
    (Setq p1 (vlax-curve-getstartpoint (car ss1)))
    (Setq p2 (vlax-curve-getendpoint (car ss1)))
    (Setq p3 (vlax-curve-getstartpoint (car ss2)))
    (Setq p4 (vlax-curve-getendpoint (car ss2)))
(Vl-Cmdf "line" p1 p3 "" "line" p2 p4 "")
(Vl-Cmdf ".Pedit" Ss1 "Yes" "J" "C" Pt1 Pt2 "" "")
  (Setvar "Cmdecho" 1)
  (Princ)
)

偏移执行了,连接和闭合没有执行,请大师给予修改教导,谢谢了
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-7-17 19:41:51 | 显示全部楼层
  1. (defun c:tt ()
  2.   (setvar "cmdecho" 0)
  3.   (setq s1 (car (entsel "\n选择线: ")))
  4.   (vla-offset (vlax-ename->vla-object s1) 100)
  5.   (setq s2 (entlast)
  6.         p1 (vlax-curve-getstartpoint s1)
  7.         p2 (vlax-curve-getendpoint s1)
  8.         p3 (vlax-curve-getstartpoint s2)
  9.         p4 (vlax-curve-getendpoint s2)
  10.   )
  11.   (vl-cmdf "line" p1 p3 "")
  12.   (setq s3 (entlast))
  13.   (vl-cmdf "line" p2 p4 "")
  14.   (setq s4 (entlast))
  15.   (vl-cmdf ".pedit" "m" s1 s2 s3 s4 "" "j" 0 "")
  16.   (princ)
  17. )
 楼主| 发表于 2014-7-17 21:26:09 | 显示全部楼层
xyp1964 发表于 2014-7-17 19:41

谢谢院长   你是老师   我敬佩你  祝福你写出更多的代码  成为中国的lee
 楼主| 发表于 2014-7-17 21:43:29 | 显示全部楼层
xyp1964 发表于 2014-7-17 19:41

院长你好,实现了我的理想中的执行,我想再追问一个 就是  在多段线端点的地方自动绘制一个定量的圆,这个怎么实现   是不是先得到多段线的点列表,然后在每个点那里绘制一个定量圆  这个思路对吗  谢谢

点评

对  发表于 2014-7-17 22:09
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-24 10:02 , Processed in 0.173894 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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