CadFrank 发表于 2022-7-6 07:26:51

帮助开始日常工作

大家好,
 
好的,这就是我要做的。我在一家混凝土模板公司工作,我正试图通过一些Lisp程序的例行公事使事情进展得更快。
 
当我为我的计划做一些细节的时候,我想要一些帮助来做一个lisp例程来加速事情。我附上了一张我想代表的图片
 
我的代码是这样开始的:
 
(setq dist1 (getdist "\n Point the distance needed. "))
 
我可能需要在其中的某个地方插入一个块,如果需要的话甚至创建一个。
 
但现在我只需要划分距离,然后需要在提到的间隔处插入它们
 
因此,il将需要以下代码:
 
(setq spac1 (getreal "\n Give the spacing reguired. ")
 
基本上就是这样。
 
提前感谢您的帮助,请不要犹豫提问,因为我不确定自己是否完全清楚。
 
干杯和啤酒!
 

pBe 发表于 2022-7-6 07:38:43

允许4x4块插入为中心
(/dist1 spac1)=间隔?
 
当然还有更多。我想有一些因素需要考虑,一个人的最大/最小距离。它不会总是4x4的,是吗?

David Bethel 发表于 2022-7-6 07:44:05

2x4s的中心线到中心线的距离是多少?
 
所有成员之间的空间是否相等?甚至是两端2x4s的空间?
 
您是否使用3.5作为4x4和2x4的成品尺寸?
 
选择的间距是否为最大允许间距?
 
 
-大卫

CadFrank 发表于 2022-7-6 07:49:58

 
嗯,我需要在正确的位置插入4“x 4”,我不知道怎么做。
 
为了回答你的问题,我想说,有一种可能性,不仅是一个4“x 4”将去那里。我们还有一些明矾光束。

CadFrank 发表于 2022-7-6 07:54:28

 
回答你的问题。
 
第一个是:不,这将是顶部/中心。
 
其次,最终间距应相等,允许的最大值为变量“spac1”给出的值
 
实际上,我使用3.5,但它是公制的,所以它是90

marko_ribar 发表于 2022-7-6 08:03:06

也许,mcr。我最近制作的lsp(移动、复制、旋转)可以帮助你-它可以选择按一定距离连续复制。。。我知道这并不是你想要的,因为主距离没有划分为间隔,但你没有路径来使用2012 arraypath命令,如果你能获得间隔,这会有帮助。。。
 
http://www.theswamp.org/index.php?topic=40547.msg480316#msg480316
 
M、 R。

David Bethel 发表于 2022-7-6 08:12:52

也许 吧:
 

(defun c:posts (/ pn ps p1 p2 d1 d2 pq px i)

(and (not (tblsearch "BLOCK" "POST"))
      (entmake '((0 . "BLOCK")(2 . "*U")(10 0 0 0)(70 . 1)))
      (entmake '((0 . "LINE")(8 . "0")(10 -0.5 -1 0)(11 -0.5 0 0)))
      (entmake '((0 . "LINE")(8 . "0")(10 0.5 0 0)(11 -0.5 -1 0)))
      (entmake '((0 . "LINE")(8 . "0")(10 -0.5 0 0)(11 0.5 0 0)))
      (entmake '((0 . "LINE")(8 . "0")(10 0.5 -1 0)(11 -0.5 0 0)))
      (entmake '((0 . "LINE")(8 . "0")(10 0.5 0 0)(11 0.5 -1 0)))
      (entmake '((0 . "LINE")(8 . "0")(10 -0.5 -1 0)(11 0.5 -1 0)))
      (setq pn (entmake '((0 . "ENDBLK")(8 . "0")))))

(initget 6)
(setq ps (getdist "\nPost Size <4>:   "))
(or ps (setq ps 4))

(initget 1)
(setq p1 (getpoint "\nStart Point:   "))

(initget 1)
(setq p2 (getpoint p1 "\nEnd Point:   "))

(setq d1 (distance (list (car p1) (cadr p1))
                  (list (car p2) (cadr p2))))
(grdraw p1 p2 2 3)

(while (or (not d2)
            (> d2 d1))
      (initget 7)
      (setq d2 (getdist "\nMaximum Spacing Distance:   ")))

(setq pq (fix (/ d1 d2))
       px (/ d1 pq)
      i 1)

(repeat (1- pq)
    (entmake (list (cons 0 "INSERT")(cons 2 pn)
                   (cons 10 (polar p1 (angle p1 p2) (* px i)))
                   (cons 41 ps)
                   (cons 42 ps)
                   (cons 43 ps)))
    (setq i (1+ i)))
(prin1))

 
 
-大卫

CadFrank 发表于 2022-7-6 08:17:47

我刚刚测试过。
 
在我看来,它工作得很好!
 
我认为唯一不起作用的是最大距离。
 
剩下的看起来不错!
 
谢谢你的帮助!

BIGAL 发表于 2022-7-6 08:24:25

听起来更像是拾取Pt1 Pt2,然后在波束间距之间划分距离,算出余数,将波束放置在边缘,然后在两者之间正确定位,对吗?

marko_ribar 发表于 2022-7-6 08:33:07

 
现在添加了复制阵列选项-“A”选项。。。
您好,M.R。
页: [1]
查看完整版本: 帮助开始日常工作