eric_monceaux 发表于 2022-7-5 20:25:55

自动修剪和扩展LISP

我有一个简单的LISP例程,我用它创建两条线,从中心线偏移,并把它们放在一个特定的层。我希望自动化的一个小问题是,在创建线之后,它们会修剪并延伸到最近的对象。这样可能吗?
 
我已经包括了电流输出和期望输出的屏幕截图。提前谢谢大家!
 
(defun c:MJ8 (/ #Entlast)
(setq #Entlast (entlast))

(command "_.mline" "_st" "Standard" "_s" 0.375 "_j" "_z")
(while (> (getvar 'cmdactive) 0)
   (princ "\nSpecify next point: ")
   (command PAUSE)
) ;_ while

(and (not (eq #Entlast (entlast)))
      (or (tblsearch "layer" "03-JOINT") (alert "03-JOINT layer does not exist!"))
      (progn
      (command "_.change" (entlast) "" "_p" "_la" "03-JOINT" "")
      (command "_.explode" (entlast))
      ) ;_ progn
) ;_ and

(princ)
) ;_ defun
 

BIGAL 发表于 2022-7-5 22:01:02

这是一个可能的答案,通过lisp,你可以选择两个cnr点,然后做一个小窗口搜索,找到其他4条线(ssget),现在做两条线,但记住这两条线是对象(entlast),然后使用对象集合进行修剪/延伸。我做了一些自动多圆角,所以我知道该方法应该也适用于修剪,抱歉没有代码。如果其他人不先做,我会看看我是否能抽出时间。
页: [1]
查看完整版本: 自动修剪和扩展LISP