newbuser 发表于 2012-3-23 22:39:51

CAD中如何实现“insert”命令插入块程式化选择?


如图所示,输入"insert"之后,每次还得选择(1)插入点<在屏幕上指定>,去掉(2)缩放比例<在屏幕上指定>,选择(3)旋转<在屏幕上指定>,操作完这三个选项之后,还得点击确定。
但如果用(defun c:bb()   (command "insert"))这个简单的lsp,输入bb后还得重新修改比例,插入点和缩放比例还得重新设置,具体如下图所示。

请问哪位仙人能用lsp程序实现块插入简单化?只输入块名就行了的那种

print1985 发表于 2012-5-26 01:52:37

还是用这个吧
(defun c:bb(/ n p)
(setq n (strcat "*" (getstring "\n请输入块名:")));在块名前自动添加*号
(setq p (getpoint "\n指定插入点:"))
(command "-insert" n p "1" "1" "0" )
(princ)
)

print1985 发表于 2012-5-26 01:45:36

或者在最后加一句(command "EXPLODE" (entlast))

(defun c:bb(/ n p)
(setq n (getstring "\n请输入块名:"))
(setq p (getpoint "\n指定插入点:"))
(command "-insert" n p "1" "1" "0" )
(command "EXPLODE" (entlast));加这句 炸开图块 免去输入*号
(princ)
)

print1985 发表于 2012-5-26 01:42:15

块名前面加个*号就行了,比如块名为A,输入块名的时候写成*A

panzhongw 发表于 2012-3-24 00:27:38

用SCR怎么样

print1985 发表于 2012-3-25 15:35:56

这个可以吗
(defun c:bb(/ n p)
(setq n (getstring "\n请输入块名:"))
(setq p (getpoint "\n指定插入点:"))
(command "-insert" n p "1" "1" "0" )
(princ)
)

newbuser 发表于 2012-3-26 20:48:18

不行啊。出错,找不到块的位置

print1985 发表于 2012-3-27 14:27:02

dwg块要放到支持文件搜索路径下啊 选项中设置下位置

newbuser 发表于 2012-3-28 16:15:39

你这条程序里面(command "-insert" n p "1" "1" "0" ),np"1""1""0"这些参数指的什么意思?

print1985 发表于 2012-3-28 16:31:44

就是命令-insert中 需要你输入的数据啊 n p是块名和插入点 1是比例 0是角度
你输命令看看就知道了啊

半听可乐 发表于 2012-5-25 23:52:22

print1985 发表于 2012-3-25 15:35 static/image/common/back.gif
这个可以吗
(defun c:bb(/ n p)
(setq n (getstring "\n请输入块名:"))


朋友你好!我万分激动的看到了你在某帖子中的回复:
(defun c:bb(/ n p)
(setq n (getstring "\n请输入块名:"))
(setq p (getpoint "\n指定插入点:"))
(command "-insert" n p "1" "1" "0" )
(princ)
)
这个程序我找了好久,比较类似,但具体功能我希望是这样的0:我通过快捷键的方式在图纸的指定位置插入我编辑好的xx.dwg文件,比例为1,旋转为0,但是插入进来后不是图块的形式,而是图块分解后的形式,类似于insert命令对话框勾选“分解”的效果,你能帮我吗?谢谢你!我的QQ274157750,焦急等待大神回复!

半听可乐 发表于 2012-5-25 23:55:38

print1985 发表于 2012-3-25 15:35 static/image/common/back.gif
这个可以吗
(defun c:bb(/ n p)
(setq n (getstring "\n请输入块名:"))


print1985 你好!我万分激动的看到了你在某帖子中的回复:
(defun c:bb(/ n p)
(setq n (getstring "\n请输入块名:"))
(setq p (getpoint "\n指定插入点:"))
(command "-insert" n p "1" "1" "0" )
(princ)
)
这个程序我找了好久,比较类似,但具体功能我希望是这样的0:我通过快捷键的方式在图纸的指定位置插入我编辑好的xx.dwg文件,比例为1,旋转为0,但是插入进来后不是图块的形式,而是图块分解后的形式,类似于insert命令对话框勾选“分解”的效果,你能帮我吗?谢谢你!我的QQ274157750,焦急等待大神回复!

e2002 发表于 2012-5-25 23:58:10

你看一下 insert 命令的帮助就知道如何才能 "插入进来后不是图块的形式,而是图块分解后的形式"
页: [1] 2
查看完整版本: CAD中如何实现“insert”命令插入块程式化选择?