null. 发表于 2025-2-18 15:14:02

CAD一键动态块2

本帖最后由 null. 于 2025-2-18 15:23 编辑

自己持续研究,终于搞定,可一键生成动态块!敬请关注!
用LSP代码写:
**** Hidden Message *****










kozmosovia 发表于 2025-2-18 15:44:42

本帖最后由 kozmosovia 于 2025-2-18 15:46 编辑

用一堆command实现,图形小时还好,图形大时,来回切换显示会比较晃眼睛的。不过的确在VLISP下,也没有其他的方式。

应该直接定义好可见性里面可见的图块,然后用块名代替可见性状态01234,更好的识别。

香远益清 发表于 2025-3-6 10:05:36

本帖最后由 香远益清 于 2025-3-6 10:10 编辑

这个功能10几年前就在该站上有源代码了,还用大家花钱?我给一个,如下:
;;;【命令:KSJK】快速建块;;
(vl-load-com)
(defun Makeunnameblk (entss / boundingbox pois cenpoi)
   (defun boundingbox (ss / i ent obj pta ptb dwcorn upcorn ptlist x y)
   (setq i 0
         dwcorn nil
         upcorn nil
   )
   (repeat (sslength ss)
       (setq ent (ssname ss i))
       (setq obj (vlax-ename->vla-object ent))
       (vla-GetBoundingBox obj 'pta 'ptb)
       (setq dwcorn (cons (vlax-safearray->list pta) dwcorn))
       (setq upcorn (cons (vlax-safearray->list ptb) upcorn))
       (setq i (1+ i))
   )
   (setq ptlist (append dwcorn upcorn))
   (setq x (mapcar 'car ptlist))
   (setq y (mapcar 'cadr ptlist))
   (list (list (apply 'min x) (apply 'min y))
         (list (apply 'max x) (apply 'max y))
   )
   )
   (if entss
   (progn
       (setq pois (boundingbox entss))
       (command"cutclip" entss "")
       (command"pasteblock" (car pois))
   )
   )
   (command "change" (entlast) "" "P" "la" "0" ""
            "change" (entlast) "" "P" "c" "bylayer" "")
;给块重命名
    (setq ent (entget (entlast)))
    (setq name (cdr (assoc 2 ent))) ;取得块名name
    (setq blkname (strcat "K_" (rtos (* (getvar "cdate") 1e8))));给块名设定时间
    (command "-rename" "b" name blkname)
    (princ (strcat "\n新图块 <" blkname "> 绘制完成. "))
)

(defun c:KSJK(/ entss)
    (princ "快速建块(块基点为左下点)")
    (setq entss (ssget))
    (makeunnameblk entss)
   (princ)
)
;;;========================END=====================;;

429014673 发表于 2025-2-18 19:34:13

用处不大                  

ssyfeng 发表于 2025-2-18 15:28:24

这个代码用AI写的吧

bloodtempt 发表于 2025-2-18 15:16:17

学习一下,感谢分享

lingduwx 发表于 2025-2-18 15:35:18

顶一个,期待中

cqu20104225 发表于 2025-2-18 15:46:30

看一看,感谢分享

寒潮大冬瓜 发表于 2025-2-18 15:46:56

很好→很棒!很好~很棒!!很好……很棒!!!

nsh935 发表于 2025-2-18 15:48:42

谢谢分享!学习一下!

lxl217114 发表于 2025-2-18 16:38:42

谢谢分享了

pizi158545086 发表于 2025-2-18 16:42:02

感谢分享 感谢分享
页: [1] 2 3 4 5 6 7
查看完整版本: CAD一键动态块2