javid 发表于 2022-7-6 06:57:43

在交点处插入块

嗨,朋友们,
有谁能帮我找到一个lisp routin,它可以将块原子插入到我的图形中的任何交点?
请帮我找到。
提前感谢您的好意。
谨致问候,
贾维德。

ReMark 发表于 2022-7-6 07:03:24

贾维德:这个螺纹是关于管件的螺纹。
 
有一些自定义lisp例程将帮助您完成该过程。我认为李可能写了一个。我建议你寻找这样一个常规。

javid 发表于 2022-7-6 07:07:24

好的,我的朋友,谢谢你回复我的请求。
但是,由于在这个论坛上找到它并不容易,你能帮我找到它吗?
我将非常感谢你的帮助。
提前谢谢。

ReMark 发表于 2022-7-6 07:09:11

贾维德:试试李·麦克的网站,CADforum,the Swarm或者Cadalyst杂志。

javid 发表于 2022-7-6 07:12:17

谢谢尊敬的ReMark先生,
但我在他的网站上还没有找到任何帮助。

ReMark 发表于 2022-7-6 07:16:12

李-麦克的控球教练可以配合盖帽。
 
http://www.lee-mac.com/ptmanager.html
 
或者参见Scott Bolton发布的下面链接中的lisp例程。
 
http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/Insert-block-at-intersection/td-p/3067930
 
将来,我可以建议你为与帖子标题无关的问题创建一个新的帖子吗?使事情更容易理解,减少混乱。非常感谢。
 
还有一个用于在交点处创建点或块。
 
http://www.cadforum.cz/cadforum_en/qaID.asp?tip=5686
 
你所要做的就是看。

javid 发表于 2022-7-6 07:20:33

再次感谢亲爱的评论,
这是一个非常有用的Lisp例程,但我需要它自动在我的绘图中找到每个交点坐标,然后在每个交点上插入我的块。
该例程可以读取包含x、y、z坐标的文本文件,并在其中任何一个坐标中插入一个块。。。
当我们在绘图中有一系列点时,每次都要找到所有交点x、y、z并将它们写入文本文件中,以便以这种方式使用,这并不容易。。。

ReMark 发表于 2022-7-6 07:24:21

我为您提供了三种可能的解决方案。如果第一个不能满足您的需求,那么继续下一个。

Lee Mac 发表于 2022-7-6 07:27:01

试试附带的简单程序。
插入部分。lsp

BIGAL 发表于 2022-7-6 07:30:57

类似主题的建筑师喜欢在手绘平面图上显示tic,在手绘平面图上,他们用较粗的笔在原始铅笔草图上绘制,因此这会在线条的末端添加记号。Ps该代码创建于1994年!
 
; draw architectural tic marker
;pick layer required
(setvar "cmdecho" 0)
(setq exlay (getvar "clayer"))

(setq obj nil)
(while (= obj nil)
(setq obj (entsel "\n Pick any object on the required layer :"))
)
(setq tic_len (getreal "\nEnter tick size mm <2> "))
(if (= tic_len nil)
(setq tic_len (* 2 setsc))
(setq tic_len (* tic_len setsc))
)
(setq player (cdr (assoc 8 (entget (car obj)))))
(princ "\n   Object is on the layer:")
(princ player)
(princ "\n ")
; Selection set to measure
(while (not (setq ss (ssget))))   
;; For each entity in the selection set, check if it is an entity that can
;; be used.
;now pick multiple lines etc
(setvar "clayer" tics)
(while (setq en (ssname ss 0))
; Entity type
    (setq entyp (cdr (assoc 0 (entget en))))
;layer type
    (setq aclayer (cdr (assoc 8 (entget en))))
   (if (and (= entyp "LINE") (= player aclayer))
   (progn
   (setq p1 (cdr (assoc 10 (entget en))))
   (setq p2 (cdr (assoc 11 (entget en))))
   (setq ang (angle p1 p2))
   (setq p3 (polar p1 (- ang pi) tic_len))
   (setq p4 (polar p2 ang tic_len))
   (command "line" p1 p3 "")   
   (command "line" p2 p4 "")   
   )                        
   )                              
; Delete each measured entity from set
    (ssdel en ss)
;end while
)

(setq p1 nil
   p2 nil
   p3 nil
   p4 nil
   tic_lennil
   ss nil
   en nil
   )
(setvar "clayer" exlay)
(princ)
页: [1] 2
查看完整版本: 在交点处插入块