Mark111 发表于 2022-7-6 14:59:06

请帮助开始

大家好
 
编写lisp代码非常新。
请帮我走。
我试着编写代码,一次将小块复制/粘贴到垂直线的末端。(不同层上的小方块)节省时间,无需每次粘贴。有很多线,它们之间的尺寸和长度都不一样!
图片中,一排栅栏柱子点缀在任何地方,想把盒子固定在柱子的顶部。
最好有一个偏移量,并且能够选择要复制/粘贴的行。
有人能帮上忙吗?有人看过能做到这一点的代码吗?
 
干杯
做记号

David Bethel 发表于 2022-7-6 15:24:01

这不考虑任何层次的东西。它只使用当前层并假设WCS插入。此外,它只查找线条。没有普林斯-大卫
(defun c:lend2ins (/ bn ss i en ed p10 p11)

;;;FORCE BLOCK TABLE
(defun SetBlkTF (n)
(cond ((not (snvalid n))
       (princ "\nInvalid Block Name - " n)
       (setq n nil))
      ((tblsearch "BLOCK" n))
      ((findfile (strcat n ".DWG"))
       (command "_.INSERT" n)
       (command))
      (T
       (entmake (list (cons 0 "BLOCK")(cons 2 n)(cons 10 (list 0 0 0))(cons 70 0)))
       (entmake (list (cons 0 "TEXT")
                      (cons 1 (strcat "BLOCK PLACECARD - " n))
                      (cons 7 (cdr (assoc 2 (tblnext "STYLE" T))))
                      (cons 8 "0")
                      (cons 10 (list 0 0 0))
                      (cons 11 (list 0 0 0))
                      (cons 40 (max 1 (getvar "TEXTSIZE")))
                      (cons 72 4)))
       (entmake (list (cons 0 "ENDBLK")(cons 8 "0")))))
n)

(while (or (not bn)
            (not (SetBlkTF bn)))
         (setq bn (getstring "\nBLOCK To INSERT:   ")))

(while (not ss)
      (princ "\nSelect Lines To INSERT BLOCK To:   ")
      (setq ss (ssget (list (cons 0 "LINE")
                              (if (getvar "CTAB")
                                  (cons 410 (getvar "CTAB"))
                                  (cons 67 (- 1 (getvar "TILEMODE"))))))))

(setq i (sslength ss))
(while (not (minusp (setq i (1- i))))
      (setq en (ssname ss i)
            ed (entget en )
             p10 (cdr (assoc 10 ed))
             p11 (cdr (assoc 11 ed)))
      (entmake (list (cons 0 "INSERT")(cons 2 bn)(cons 10 p10)
                     '(39 . 0)'(6 . "BYLAYER")'(62 . 256)))
      (entmake (list (cons 0 "INSERT")(cons 2 bn)(cons 10 p11)
                     '(39 . 0)'(6 . "BYLAYER")'(62 . 256))))

(prin1))

Mark111 发表于 2022-7-6 15:45:07

非常感谢大卫,这非常适合我想要做的事情。
 
干杯,马克

David Bethel 发表于 2022-7-6 16:00:39

不客气。这是对我已经设置了摄像机视图的程序的一个轻微修改-大卫。
页: [1]
查看完整版本: 请帮助开始