zilong136 发表于 2024-3-17 00:51

关于建块的问题?


[*]用下列代码建块,发现块不见了,怎么让其出现默认对话框?
[*](defun c:b ()
[*]      (prompt "\n b:建块")
[*](vl-cmdf "BLOCK" (getreal "\n 起块名:")(getpoint "\n 插入基点:") (ssget) "" )
[*](princ)
[*])

ssyfeng 发表于 2024-3-17 09:21

这是创建块,还要再插入这个块

zilong136 发表于 2024-3-17 10:14

ssyfeng 发表于 2024-3-17 09:21
这是创建块,还要再插入这个块

应该怎么改?

ssyfeng 发表于 2024-3-17 13:14

用-insert命令插入,怎么觉得你对CAD基本功不是很了解的

zilong136 发表于 2024-3-17 22:59

ssyfeng 发表于 2024-3-17 13:14
用-insert命令插入,怎么觉得你对CAD基本功不是很了解的

感觉你都没理解我的意思,我是想给创建块写个函数,不是插入块。

jun470 发表于 2024-3-18 15:33

zilong136 发表于 2024-3-17 22:59
感觉你都没理解我的意思,我是想给创建块写个函数,不是插入块。

就是这样穿件了,要插入这个块没找到是吗?还是命令之后,图面上没有这个块

zilong136 发表于 2024-3-18 18:57

jun470 发表于 2024-3-18 15:33
就是这样穿件了,要插入这个块没找到是吗?还是命令之后,图面上没有这个块

最后一步完成后,什么也没有了,感觉像是删除了。

Bao_lai 发表于 2024-3-18 19:06

本帖最后由 Bao_lai 于 2024-3-18 19:11 编辑

这个命令创建块会把作为块的对象删除。
如果你要原位建块,需要再操作一步,在原位插入刚才做的块。
(command "_.block" blkname "non" inspt ss "");
(command "_.insert" blkname "x" 1 "y" 1 "z" 1 "r" 0 "non" inspt);

zilong136 发表于 2024-3-18 19:12

本帖最后由 zilong136 于 2024-3-18 19:26 编辑

Bao_lai 发表于 2024-3-18 19:06
这个命令创建块会把作为块的对象删除。如果你要原味建块,需要再操作一步,在原位插入刚才做的块。
我觉得是删除了,但接下来插入块的操作不会了,能完整的写出来吗?

jun470 发表于 2024-3-18 22:01

zilong136 发表于 2024-3-18 18:57
最后一步完成后,什么也没有了,感觉像是删除了。

补全代码了,你试试
(defun c:b ( / kk PP)
(prompt "\n b:½¨¿é")
(setq kk (getstring "\n ¿éÃû:"))
(setq PP (getpoint "\n ²åÈëµã:"))
(vl-cmdf "BLOCK" KK PP (ssget) "" )
(entmake (list '(0 . "INSERT") (cons 2 KK) (cons 10 PP)))
(princ)
)

页: [1] 2
查看完整版本: 关于建块的问题?