xiaxiang 发表于 2010-12-22 11:53:57

框选直线段,一次性剪切延伸

本帖最后由 xiaxiang 于 2010-12-23 14:29 编辑

请问有没有这样的程序,能框选直线段,一次性整理完成,可能用到剪切延伸(或者倒角)命令,要求就是一次性框选,一次性完成。效果见附件
attach://56239.jpg
悬赏增加!

Andyhon 发表于 2010-12-22 11:53:58

;;; 以只选取 竖直线 的方式来编程
;;; 需安装 Express Tools 取得 Acet* 函数的支持
...
...
;;; 雏型 for Test only


(defun C:Test ()
   (VL-load-com)
   (setvar 'CLayer "0")    ; Line 所在的图层
   (setvar 'OsMode 0)
   (setvar 'PickBox 1)
   (setvar 'CmdEcho 0)
   (princ "\n 选取 竖直线: ")
   (setq ss (ssget '((0 . "LINE")))
         nn (sslength ss)
      pts (acet-geom-ss-extents ss T)
         p1 (car pts)
         p3 (cadr pts)
         p4 (list (car p1) (cadr p3))
      ssL (ssget "f" (list p3 p4) '((0 . "LINE")))
      ssC (ssget "f" (list p3 p4) '((0 . "CIRCLE")))
      dat (entget (ssname ssC 0))
      Rad (cdr (assoc 40 dat))
         hh (list 0 (- (cadr p1) (cadr p3)))
   )
   (vl-cmdf "Erase" ssL "R" ss "")
   (cond
    ((> nn 2) (Test_A))
    (T (-o-o-p4 p3 ssC 0))
   )
   (setvar 'OsMode 167)
   (setvar 'PickBox 6)
   (setvar 'CmdEcho 1)
   (princ)
)


全码如附件
;; Test ok ==> Email_4.TC-CC

Andyhon 发表于 2010-12-23 09:03:18

这类问题上传个文件(*.Dwg)要好些
且最好例举数个实例,
除非就只有如图示的情况

xiaxiang 发表于 2010-12-23 11:53:18

回复 Andyhon 的帖子

现在把图纸传上来,里面还包括圆的情况,可暂不考虑(离散的圆和直线段已有办法串接)。关键是一次性的整理线段,该剪就剪,该伸就伸,倒角也行。谢谢高手。

xiaxiang 发表于 2010-12-23 11:55:31

本帖最后由 xiaxiang 于 2010-12-23 11:56 编辑

离散的圆和直线段的串接

Andyhon 发表于 2010-12-23 12:28:59

如果以只选取 竖直线 的方式来编程如何?

xiaxiang 发表于 2010-12-23 14:23:25

回复 Andyhon 的帖子

采用什么手段请便,要求就是框选一次性完成。拜托了!

xiaxiang 发表于 2010-12-24 08:53:23

Andyhon,感谢您的热心,在此谢过。我这边实验还有些问题,没有成功,能不能截个动画给我。我用的06

Andyhon 发表于 2010-12-24 10:00:12

;; Test ok ==> Email_4.TC-CC
请另上传 实验还有些问题的Dwg + 错误讯息

xiaxiang 发表于 2010-12-24 11:15:50


这是怎么回事,搞不明白,如果只选择竖直线则没有反应
页: [1] 2 3 4
查看完整版本: 框选直线段,一次性剪切延伸