yjccwf 发表于 2023-5-22 12:19:03

一键新建块,而且自动生成块名,绝对不会重复。省去复杂的建块操作,避免了重复

本帖最后由 yjccwf 于 2023-8-16 12:10 编辑

一键新建块,而且自动生成块名,绝对不会重复。省去复杂的建块操作,避免了重复{:1_1:};免费分享给大家,如果好用 ,希望大家给个支持!:D-

1

weijiewen 发表于 2024-2-2 09:35:02

jkop 发表于 2024-1-15 16:00
可以设置基准点,适合我使用,感谢分享。

(defun C:KSJK (/ TKname ss pt)
(setvar "cmdecho" 0)
(setq TKname (menucmd "M=$(edtime,$(getvar,date),YYYYMODDHHMMSS)"))
(print "
请选择需要建块的对象:")
(setq ss (ssget))
(if ss
    (progn
      (setq pt (getpoint "
请输入块基点坐标:"))
      (command "-block" TKname "o" "c" pt ss "")
      (princ (strcat "
已完成块的新建,块名为<" TKname ">"))
    )
    (print "
选择的对象为空,请重新选择。")
)
(setvar "cmdecho" 1)
(princ)
)
——————————————————————————————————————
改了下可以设置基点了

李钊伟2012 发表于 2023-5-24 16:01:15

本帖最后由 李钊伟2012 于 2024-2-12 09:46 编辑

;快速做块,你们可以试试用CAD自带的。不过偶尔会做块失败,原因未知。只能用最基本的键盘操作复制粘贴
(defun c:bb( / pt ss)
(if(/="0"(getvar "clayer")) (PROGN(princ"当前图层: ")(princ (getvar "clayer"))))
(vl-cmdf "copybase" (setq pt(getpoint"\n指定基点")) (setq ss(ssget)) "" "pasteblock" pt)
(command"erase" ss "");(if(/="0"(getvar "clayer"))(command "layer" "m" "0" "")(PROGN(princ"当前块图层: ")(princ (getvar "clayer"))(command "change" (ssget)"" "p" "la" "0" "" ))
(princ))

zhangrunze 发表于 2024-3-23 16:38:00

weijiewen 发表于 2024-2-2 09:35
(defun C:KSJK (/ TKname ss pt)
(setvar "cmdecho" 0)
(setq TKname (menucmd "M=$(edtime,$(getv ...

都可以~但是建块后图形消失~
不懂怎么回事了。

ynhh 发表于 2023-5-22 12:38:20

谢谢您的分享
感觉按时间来建块也不会重名吧

hzyhzjjzh 发表于 2023-5-22 12:41:58

谢谢楼主分享{:1_1:}

ZYX2129 发表于 2023-5-22 13:22:01

谢谢楼主分享

nsh935 发表于 2023-5-22 13:28:49

谢谢大佬分享成果!!!

yjccwf 发表于 2023-5-22 13:32:56

ynhh 发表于 2023-5-22 12:38
谢谢您的分享
感觉按时间来建块也不会重名吧

对按时间也是好方法

依然小小鸟 发表于 2023-5-22 13:47:37

谢谢大神的分享:lol

sniper1111 发表于 2023-5-22 15:25:18

个人感觉按照同的图元和图层,设置已给命名原则也很好,比如识别到了给水管线,那么就生成xx号楼给水管系统图。

zxhwayne 发表于 2023-5-22 16:17:54

感谢分享挺好用的!G版的是用时间来命令的,我一直用的G版的,大家都很棒

包哥 发表于 2023-5-22 16:39:58

牛,好程序
页: [1] 2 3
查看完整版本: 一键新建块,而且自动生成块名,绝对不会重复。省去复杂的建块操作,避免了重复