找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 606|回复: 4

[求助] [求助]:以下程序片断有何问题,请高人指点!!!

[复制链接]
发表于 2005-4-20 16:18:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
如预览图所示:
实现如下操作:
1.对多义线顶点编号
2.然后判断顶点之间距离是否大于4,是则在本段中心写字ABC
3.利用文字ABC剪切线,使文字漏空

1,2步能实现,
第3步不能完全实现,第一次剪切之后的剪切无法完成,且提示“对象未与边相交”?
这是为何?请大家指点!多谢了!

........................
(setq k4 0)
(setq ss (ssget))
(setq i 0)
(setq en (ssname ss i) )
(setq plist (entget en))

  (setq listcd (length jdzbb))      ;顶点数量
   
  (repeat (- listcd 1)           
    (progn
        (setq pt1 (nth k4 jdzbb))        ;pt1表示第一个顶点的座标
        (setq pt2 (nth (+ k4 1) jdzbb))  ;pt2表示第二个顶点的座标
                                                                                                                                                         
        ............   求得多义线中点座标midpt
           
        ............   求得文字角度angfw
     

     (if (>= (distance pt1 pt2) 4)      
         (progn
           (command "text" "j" "m" midpt 1.0 angfw "ABC")  ;如果两顶点距离大于等于4时,在线中写字ABC
           (setq wz (entlast))
           (command "trim" wz "" (list en midpt) "")       ;利用刚写的字剪切线,使文字漏空
         )
      )
    );end of progn
     (setq k4 (+ k4 1))                                    ;往多义线的第二段循环
  ); end of repeat

        .................
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-4-20 16:29:41 | 显示全部楼层
能不能换个思路,不用文字trim线,而是在文字下加wipeout实体.
程序中用trim很容易出错,而且查不出原因.通常和显示有关
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-20 17:15:13 | 显示全部楼层
恕本人愚钝,还不知道wipeout实体是啥?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-20 20:09:12 | 显示全部楼层
你的第二个实体已经不是EN了肯定不相交啊!
第一次打断是对的..EN还存在且唯一..
但第二次以后EN就不一定是你所要剪切的实体了..
所以你剪切之前必须重新选择你要剪的实体.
建议.如果你要剪PT3 PT4段
先(SETQ EN (SSNAME (SSGET "F" (LIST PT3 PT4)) 0))
再(command "trim" wz "" (list en midpt) "")
应该就没问题了...
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-20 21:23:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
提示“无法修剪此对象"。谢谢了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 03:51 , Processed in 0.306226 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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