明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索

[提问] 求助:求在已有多义线上接着画的代码

[复制链接]
发表于 2014-12-28 20:36:48 来自手机 | 显示全部楼层
llsheng_73 发表于 2014-12-28 06:16
原多线段有弧倒好办,问题是接着画的时候需要画弧弄起才麻烦

我的看法与你正相反,要不你搞前半截,我搞后半截?
发表于 2014-12-30 15:50:47 | 显示全部楼层
自贡黄明儒 发表于 2014-12-28 20:36
我的看法与你正相反,要不你搞前半截,我搞后半截?

  1. (defun C:y(/ e p a)
  2.   (if(and(setq e(car(entsel "\n选择多线段接着画")))
  3.          (setq e(vlax-ename->vla-object e))
  4.          (=(vla-get-objectname e)"AcDbPolyline"))
  5.      (while(setq P(getpoint(vlax-curve-getendpoint e)"\n指定新顶点: "))
  6.        (vlax-invoke e'ADDVERTEX(1+(vlax-curve-getendparam e))(mapcar'+'(0 0)(trans P 1 0)))
  7.        )
  8.     )
  9.   )

发表于 2014-12-30 18:11:12 来自手机 | 显示全部楼层
llsheng_73 发表于 2014-12-30 15:50

简单的办法把两条线连接起来,这样后来画的线就可带弧了,我想
发表于 2015-1-4 02:38:57 | 显示全部楼层
直接画后面部分,再把前面部分 pedit  join 不行么?
发表于 2015-1-4 08:08:24 | 显示全部楼层
狂刀lxx 发表于 2015-1-4 02:38
直接画后面部分,再把前面部分 pedit  join 不行么?

我也这想法,但有一个问题,输入U不能退;输入C不能形成封闭
发表于 2015-1-4 10:47:22 | 显示全部楼层
c倒是可以解决,就是u回前面那条多义线就只能用模拟重新“画”的办法了
发表于 2015-1-8 18:10:35 | 显示全部楼层
本帖最后由 llsheng_73 于 2015-1-8 18:14 编辑

这个最头痛的的怎么做到象命令PL那样那样默认下一点的情况下允许输入U,C,A,L等选项,这个解决了,别的应该都可以解决,最好再加个换向的选项,这样可以更随意的在原有多线段上接着画
发表于 2015-7-16 17:17:49 | 显示全部楼层
llsheng_73 发表于 2014-12-30 15:50

不错不错,不过能不能改一下,不一定只是在屁股上加点,从头上去加呢,从肚子上区添加呢?
(entsel "\n选择多线段接着画")的时候,顺便判断一下被选中的是第一段还是最后一段或者是中间段,然后。。。。
发表于 2015-7-24 01:05:32 | 显示全部楼层
77077 发表于 2015-7-16 17:17
不错不错,不过能不能改一下,不一定只是在屁股上加点,从头上去加呢,从肚子上区添加呢?
(entsel "\n选 ...

  1. (defun C:y(/ e p a);;;多线段任意位置加点,据测试结果比CASS的Y命令好使
  2.   (if(and(setq e(car(entsel "\n选择要加点的多线段")))
  3.          (sssetfirst nil (ssadd e))
  4.          (setq e(vlax-ename->vla-object e))
  5.          (=(vla-get-objectname e)"AcDbPolyline"))
  6.      (while(setq P(getpoint "\n指定新顶点: "))
  7.        (setq P(trans P 1 0)
  8.              a(vlax-curve-getparamatpoint e(vlax-curve-getclosestpointto e p)))
  9.        (vlax-invoke e'ADDVERTEX(if(> a 0)(1+(fix a))a)(mapcar'+'(0 0)p))))
  10.   (sssetfirst nil))
发表于 2015-7-24 01:09:09 | 显示全部楼层
狂刀lxx 发表于 2015-1-4 10:47
c倒是可以解决,就是u回前面那条多义线就只能用模拟重新“画”的办法了

按说U可以用removevertex方法删除最后一个,把引线起点改到删除最后一点后的最后一点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 13:18 , Processed in 0.268020 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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