土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ 一个框选快速建块并指定层名作为块名同时置入该层的lisp源码

一个框选快速建块并指定层名作为块名同时置入该层的lisp源码

发布于:2024-05-22 22:54:22 来自:建筑设计/CAD下载及教程 [复制转发]

;EECC快速建块并指定层名作为块名同时置入该层(DEFUN C:EECC (/ SS2024 PT1 NN OLDOS)  (SETVAR "cmdecho" 0)  (if (setq SS2024 (SSGET))    (PROGN (setq OLDOS (GETVAR "osmode"))     (SETVAR "osmode" 0)     (setq PT1 (CAR (YY-GET-BOUNDINGBOX2023 SS2024)))      (SETQ NN(cdr (assoc 8 (entget (car (entsel))))));获取图元层名指定层名作为块名同时置入该层     (command "undo")     (command "be")     (command "-block")     (command NN)     (command PT1)     (command SS2024)     (command "")     (command "insert")     (command NN)     (command PT1)     (command "1")     (command "1")     (command "0")     (command "undo")     (command "e")     (SETVAR "osmode" OLDOS)    )  )  ;(Cc_dxfamend (entlast) 8 NN)  ;Cc_dxfamend→图层(程序运行时的最后一个图元)  ;(command (entlast) "layer" NN "")  (command "_chprop" (entlast) "" "layer" NN "") ;改变最后一个图元图层  (SETVAR "cmdecho" 1)  (PRINC));YY-GET-BOUNDINGBOX2023最大包围盒(DEFUN YY-GET-BOUNDINGBOX2023       (SS / I ENT OBJ PTA PTB DWCORN UPCORN PTLIST X Y)  (setq I 0)  (setq DWCORN nil)  (setq UPCORN nil)  (REPEAT (SSLENGTH SS)    (setq ENT (SSNAME SS I))    (setq OBJ (vlax-ename->vla-object ENT))    (vla-GetBoundingBox OBJ 39;PTA 39;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 39;CAR PTLIST))  (setq Y (MAPCAR 39;CADR PTLIST))  (LIST  (LIST (APPLY 39;MIN X) (APPLY 39;MIN Y))  (LIST (APPLY 39;MAX X) (APPLY 39;MAX Y))  ))

全部回复(0 )

只看楼主 我来说两句抢沙发
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.08 万条内容 · 662 人订阅

猜你喜欢

阅读下一篇

操作命令失效、出错怎么解决?CAD小白必备技巧

通常CAD命令对应的都是其固定效果的,但是有时候也会出现操作无效、失灵的情况,这是怎么回事呢?今天小编就和大家说说几个常见的操作无效问题~ 一、CAD常见无效问题 1、填充命令无效 需要对某一区域进行填充,却怎么也填充不出来?这个时候检查一下【选项】设置就可以了,在命令行中输入【OP】,回车键调出【选项】对话框。 接着切换到【显示】选项,找到【显示性能】中的“应用实体填充”,勾选后确定即可。

回帖成功

经验值 +10