Gu_xl
发表于 2011-5-14 08:26:07
本帖最后由 Gu_xl 于 2011-5-14 12:56 编辑
回复 啵浪鼓 的帖子
第1个问题,把下面一句的":"改为":"试试,可能是cad本身的问题!
(setq name (getstring (strcat "\n 输入要插入的图框名称<" name ">:")))
第二个问题,我没发现有这种情况,不知是什么原因,你试着如下修改试试:
在函数TK 开始添加:(setq ms (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
修改如下两句代码:
(command "insert" tkname pp1 1 1 0)
==》
(vla-InsertBlock ms (vlax-3d-point pp1) tkname 1 1 1 0)
(command "insert" tkname pp1 xscale yscale rot)
==》
(vla-InsertBlock ms (vlax-3d-point pp1) tkname xscale yscale 1rot)
第三个问题,要一点都不闪,很难哦!可以修改这句(setq d (* 0.005 (getvar "viewsize"))),为(setq d (* 0.01 (getvar "viewsize")))增大间距,减小生成和删除次数,可能会好点!
8楼代码已按上述修改!
jfxia
发表于 2011-5-14 12:18:39
下了源码,好用的谢,
xyp1964
发表于 2011-5-14 15:21:59
chpmould
发表于 2011-5-14 16:20:28
xyp1964 发表于 2011-5-14 15:21 static/image/common/back.gif
X版是什么原理实现的啊...
啵浪鼓
发表于 2011-5-14 18:07:38
本帖最后由 啵浪鼓 于 2011-5-14 18:09 编辑
回复 Gu_xl 的帖子
现在好多了没那么闪了,不过改过的程序,另一方向生成不再是90度了,而是116.6202度了?
Gu_xl
发表于 2011-5-14 19:37:32
本帖最后由 Gu_xl 于 2011-5-14 19:38 编辑
回复 啵浪鼓 的帖子
vla-insertblock 角度参数rot应是弧度!疏忽了,8楼代码已改!
啵浪鼓
发表于 2011-5-14 21:48:55
回复 Gu_xl 的帖子
谢谢,现在挺好了,就是不能记住上一次的选择,(defun c:tk (/ name 取消。
只支持内部已有块,不支持cad支持路径下的外部块
命令:TK
输入要插入的图框名称<>:a4 图框插入角点:; 错误: Automation 错误。
文件处理器错误
zxjing
发表于 2011-5-15 10:32:43
留个爪印
Gu_xl
发表于 2011-5-15 14:29:55
回复 啵浪鼓 的帖子
插入块后加入该代码:
(setvar "insname") name)
就可自动记住上次插入块名
啵浪鼓
发表于 2011-5-16 23:11:20
回复 Gu_xl 的帖子
如果要插入外部块需要改些哪里?