明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: wb0815

[求助]请各位斑竹帮帮忙

  [复制链接]
发表于 2004-3-15 12:20:00 | 显示全部楼层
(defun C:TTT (/ ENT1 PN NEWV INDEX)
(setq ENT1 (entsel "\n選紅線: "))
(setq PN (getpoint "\n交點: ")
PN (list (car PN) (cadr PN))
NEWV (vlax-safearray-fill
(vlax-make-safearray vlax-vbdouble '(0 . 1))
PN
)
)
(setq INDEX (SEGMENT ENT1))
(vla-addvertex
(vlax-ename->vla-object (car ENT1))
INDEX
NEWV
)
(princ)
)
发表于 2004-3-21 16:08:00 | 显示全部楼层
我明白他的意思 是在保持原来的线的节点不变的情况下再追加下一个节点,也就是再接下去在之间形成一条线         这种追加节点的方法我没用过,不过有一个简单的办法很容易就可以实现。


方法:先找到交点,上面已经有很多方法,不说了,接下来 在原来那条线的节点(端点)与这个点之间画line 或pline,然后用pedit-->joint         组合在一起就可以了


但这样追加节点有什么用途呢?不明白。
发表于 2004-3-21 21:13:00 | 显示全部楼层
lucas再改进一下,程序中既然要交互输入交点,那就应当自动判断index
发表于 2004-3-22 08:27:00 | 显示全部楼层
;;不是寫了嗎?只是segment函數忘了附上!
(setq index (segment ent1))
;;SEGMENT FROM STARTPT
;;USAGESEGMENT (ENTSEL))
(defun segment (ent / pnt vobj param)
(setq vobj (vlax-ename->vla-object (car ent)))
(setq pnt (osnap (trans (cadr ent) 1 0)
"nea"
)
)
;;(setq PNT (vlax-curve-getclosestpointto VOBJ (trans (cadr ENT) 1 0)))
(setq param (1+ (fix (vlax-curve-getparamatpoint vobj pnt))))
)
发表于 2004-5-15 21:27:00 | 显示全部楼层
龙龙仔,你的程序在处理有宽度的pl线的时候有bug。这里提供一个另类点的,命令方式的,请龙龙仔笑纳:)
  1. ;;;为多义性添加顶点:----无痕,2004,5 即兴而作.
  2. (defun c:ttt2 (/ elast e pt)
  3.    (setq elast (entlast)
  4.                e         (car(entsel "\n选择要加顶点的多义线:"))
  5.                pt       (getpoint "\n点取新顶点位置:"))
  6.    (vl-cmdf ".break" e "f" pt "@")
  7.    (vl-cmdf ".pedit" "m" e )
  8.    (if (setq elast (entnext elast)) (vl-cmdf elast))
  9.    (vl-cmdf "" "j" "0" "" "")
  10. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 05:36 , Processed in 0.154400 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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