Bill Tillman 发表于 2022-7-5 17:56:32

LISP代码到图形螺栓中心

我有一个相当简单的代码块,用于计算给定长度上所需的中心间距和地脚螺栓数量。这就是我想到的,但有人会认为我做得不够有效
这基本上是计算将角钢固定在墙上的一些地脚螺栓的中心间距。第一个和最后一个锚位于距离角度末端1”的位置,然后沿长度方向最大18”o.c。我使用一个名为xadj的变量来保存0或1的值。这让代码知道,如果锚之间的剩余空间是18“的倍数,那么不要再添加一个。

BIGAL 发表于 2022-7-5 18:18:12

你不必担心我需要另一个长度的固定值/18应该告诉多少,2种情况奇数和偶数非常简单奇数有螺栓死中间偶数有剩余/2,检查偶数很容易余数为零,奇数总是大于0.0,然后使用重复递增你的X(列表X Y)等。

CAD USER 发表于 2022-7-5 18:25:18

 
请你张贴完整的代码或如何完成这个代码,所以我可以试试。
 
抱歉打扰了。

BKT 发表于 2022-7-5 18:34:32

CAD用户,
 
如果你想玩一些代码,你可以试试这个。我想做一些像比尔正在做的事情,所以我做了这个。我将其编码为选择矩形末端的中点,例如一块扁钢。两端的间距相同。
 

(defun c:test (/ osm p1 p2 len ends spcs holnum)

(setq osm (getvar "OSMODE"))
(setvar "OSMODE" 2) ;; sets selection to "MIDPOINT"

(setq p1 (getpoint "\nSelect MIDPOINT of First Edge: ")
   p2 (getpoint p1 "\nSelect MIDPOINT of Last Edge: ")
   len (distance p1 p2)
   ends (getreal "\nEnter Distance From Ends: ")
   spcs (getreal "\nEnter Distance Between Holes: ")
   holrad 0.125 ;; makes a 1/4" hole
   holnum (fix (/ (- len (* ends 2)) spcs))
)

(setvar "OSMODE" osm)

(entmakex (list (cons 0 "CIRCLE")(cons 10 (polar p1 (angle p1 p2) ends))(cons 40 holrad)))
(entmakex (list (cons 0 "CIRCLE")(cons 10 (polar p1 (angle p1 p2) (- len ends)))(cons 40 holrad)))

(while (> holnum 0)
      (entmakex (list (cons 0 "CIRCLE")
                      (cons 10 (polar p1 (angle p1 p2) (+ ends (* spcs holnum))))
                      (cons 40 holrad)
                )
      )
      (setq holnum (1- holnum))
)

(princ)

)

BIGAL 发表于 2022-7-5 18:50:52

我的版本利用了几个库函数,mkcirc将位于自动加载的库中。lsp
 
2
 
下载此
GETVALS。lsp

CAD USER 发表于 2022-7-5 19:07:55

谢谢Bigal和BKT,
基本上,我正在寻找基于X2X的扩散器分布,但我仍然无法找到。。
页: [1]
查看完整版本: LISP代码到图形螺栓中心