Madruga_SP 发表于 2022-7-5 22:32:16

AutoliSP重新搜索

嗨,朋友们!
 
如果有人能帮助我,我会非常感谢!!
 
我需要一个lisp可以计算面积和周长。Lisp程序并不难找到。
但我还需要一件事。将地板(0.5x0.5)插入其中。Hatch可能是一个很好的方法。
我想知道使用了多少层,舱口无法计数,对吗?
 
谁能帮帮我吗?
 
提前感谢
测试。图纸

BIGAL 发表于 2022-7-5 22:39:44

有一些方法可以使用数组来制作一个图案,比如说地板砖,然后修剪到线边界。然后,你可以数一数瓷砖,尝试使用数组和Extrim。你的dwg正是我所说的,它是我不再拥有的一段代码。我一直想把它重写一遍。
 
再看一遍。UCS OB此设置用于PLINE阵列的角度,使用extrim和Cookiecutter使其大于形状。lsp,使用过滤器选择plines给出总计,Ucs W全部完成。

Madruga_SP 发表于 2022-7-5 22:46:32

感谢您快速重播BIGAL
 
我画了一个0.50x0.50的正方形,把它作为点的原点,使用复制/数组命令和extrim命令。
 
我所有的任务都是使用autocad命令,顺便说一句,它很好。
但我想让它更容易,也许Lisp程序可以帮我。
 
因此,我的任务(文件dwg)已附加。如果有人感兴趣,我真的很高兴!
 
提前感谢

BIGAL 发表于 2022-7-5 22:52:28

我写的Lisp程序只不过是在街角附近挑了一个普林,可惜我没有。只是一件需要重做的事情。正确对待钓鱼。

Madruga_SP 发表于 2022-7-5 22:55:21

好的,比格尔,谢谢你!
 
如果有人对我的任务感兴趣,我会非常高兴!
 
我真的需要那个代码。
 
非常感谢你

Tharwat 发表于 2022-7-5 23:04:38

我刚刚写了这段代码,在屏幕上指定的区域绘制方框,试试看,然后告诉我。
 

(defun c:test (/ _poly:box w h a b c d x y p1 p2 p3 w1 h1 lft-1 lft-2 p)
;;         Tharwat Al Shoufi      ;;
(if
   (and (setq
          *width*
         (cond ((getdist (strcat "\n Specify Width of box <"
                                 (rtos (cond (*width*)
                                             ((setq *width* 1.0))
                                       )
                                       2
                                       2
                                 )
                                 ">: "
                           )
                  )
               )
               (*width*)
         )
      )
      (setq
          *height* (cond
                     ((getdist (strcat "\n Specify Height of box <"
                                       (rtos (cond (*height*)
                                                   ((setq *height* 1.0))
                                             )
                                             2
                                             2
                                       )
                                       ">: "
                               )
                      )
                     )
                     (*height*)
                   )
      )
      (setq a (getpoint "\n Specify base point :"))
      (setq b (getcorner "\n Specify opposite point :" a))
   )
    (progn
      (defun _poly:box (p wid hgt / 1p 2p 3p)
      (entmakex
          (list '(0 . "LWPOLYLINE")
                '(100 . "AcDbEntity")
                '(100 . "AcDbPolyline")
                '(90 . 4)
                '(70 . 1)
                (cons 10 (setq 1p (polar p 0. wid)))
                (cons 10 (setq 2p (polar 1p (* pi 1.5) hgt)))
                (cons 10 (setq 3p (polar 2p pi wid)))
                (cons 10 p)
          )
      )
      (princ)
      )
      (setq c(list (car a) (cadr b))
            d(list (car b) (cadr b))
            x(mapcar 'car (list a b c d))
            y(mapcar 'cadr (list a b c d))
            p1 (list (apply 'min x) (apply 'max y))
            p2 (list (apply 'max x) (apply 'max y))
            p3 (list (apply 'min x) (apply 'min y))
            w*width*
            h*height*
      )
      (if (and (> (setq w1 (distance p1 p2)) w)
               (> (setq h1 (distance p1 p3)) h)
          )
      (progn
          (setq p p1)
          (repeat (fix (/ h1 h))
            (repeat (fix (/ w1 w))
            (_poly:box p1 w h)
            (setq p1 (polar p1 0. w))
            )
            (if (< 0 (setq lft-1 (rem w1 w)))
            (_poly:box p1 lft-1 h)
            )
            (setq p(polar p (* pi 1.5) h)
                  p1 p
            )
          )
          (if (< 0 (setq lft-2 (rem h1 h)))
            (progn
            (repeat (fix (/ w1 w))
                (_poly:box p1 w lft-2)
                (setq p1 (polar p1 0. w)
                )
            )
            (_poly:box p1 lft-1 lft-2)
            )
          )
      )
      )
    )
)
(princ)
)

Madruga_SP 发表于 2022-7-5 23:05:13

谢谢Tharwat!!!
 
代码运行良好。
 
我需要设置原点(框启动时)。
但当周长形状不规则时,我无法将盒子插入我的整个身体。
 
长方形或正方形效果完美!
 
非常感谢
我对这个进球很满意

Tharwat 发表于 2022-7-5 23:11:01

很高兴你喜欢这些代码
 
该例程仅创建矩形形状的长方体。
 
用方框开始设置原点是什么意思?

Madruga_SP 发表于 2022-7-5 23:20:10

你好
对不起,我英语不好。我无法清楚地解释我的疑虑。
如果你不介意的话,我附上其他文件来更好地解释。
 
提前感谢
e、 g.dwg

Tharwat 发表于 2022-7-5 23:23:28

你好
 
对于不规则形状,它不适用于它们,这就是为什么我强制用户选择两个形成矩形的相对点。
但关于起源,这件事现在会变得很复杂,让我不知所措。我以后可能会努力解决这个问题。
页: [1] 2
查看完整版本: AutoliSP重新搜索