XTdwynij 发表于 2019-12-5 22:07:23

satan421 发表于 2019-12-5 10:31
不同版本插入块需要的参数不一样,自己测试需要几个""。块名前加"*",代表插入时分解块。
如果非要用exp ...

昨晚我也是什么写法都试过了,后面的代码先运行,最后才是插入块,也就是说炸不到。😢,特懵逼,求大神看下源代码,加句代码进去阔以吗?拜谢。

Gu_xl 发表于 2019-12-5 22:51:25

参见帖子cad中一个未公布的变量"qaflags"

XTdwynij 发表于 2019-12-5 23:32:22

Gu_xl 发表于 2019-12-5 22:51
参见帖子cad中一个未公布的变量"qaflags"

古版你好。
        ((= dlg 2)
       (EF-Lib-BlockInsert);
;;;       (SETVAR "qaflags" 1)
;;;       (COMMAND "explode" (ENTLAST))
;;;       (SETVAR "qaflags" 0)
       );此段代码是如果点击了插入,那么返回一个值2.然后我查看了 插入块程序。
(defun EF-Lib-BlockInsert ();图块插入
(command "insert"
           (cadddr (assoc $EF_LibIndex $EF_BlockList))
           "X" $EF_LibScaleX
           "Y" $EF_LibScaleY
           "Z" $EF_LibScaleZ
           "R" (angtos $EF_LibROTATE)
           )
);依旧找不到原因出现在哪里。在后面加上炸开的功能。但先执行的是explode。然后再返回执行插入块。这个是不是用了反应器啥的。看不懂。完整程序和对话框已经上传了。古版可以帮帮我吗?

satan421 发表于 2019-12-9 08:34:25

代码开头有控制是否炸开的变量:
(setq $EF_LibExplode "1")"1"改成"0"试试

烟盒迷唇 发表于 2019-12-10 08:40:54

插入块的代码少一个插入点,不完整的,虽然也能运行,但是执行不了后面的炸开。

zj20190405 发表于 2020-8-4 22:22:15

烟盒迷唇 发表于 2019-12-10 08:40
插入块的代码少一个插入点,不完整的,虽然也能运行,但是执行不了后面的炸开。

大佬能否提示下

xj6019 发表于 2020-8-26 19:07:17

XTdwynij 发表于 2019-12-5 22:07
昨晚我也是什么写法都试过了,后面的代码先运行,最后才是插入块,也就是说炸不到。😢,特懵逼, ...

咋处理的呀,说出来呗,大家都收益嘛,我也想知道呀

guankuiwu 发表于 2021-2-17 22:33:03

怎么解决的呢,楼主出来说说了

尘缘一生 发表于 2022-9-14 22:18:30

;;插入图块-------------------------
        (defun sl-lib-blockinsert (/ pt)
                (command "ZOOM" "0.5X")
                (setq pt (caddr (sl_pm2pt)))
                (vla-ins-b (cadddr (assoc $sl_libindex $sl_blocklist)) pt $sl_libscalex $sl_libscaley $sl_libscalez $sl_librotate)
                (command "MOVE" (entlast) "" pt PAUSE)
                (command "EXPLODE" (entlast))
                (princ)
        )

yaojing38 发表于 2023-2-28 20:54:19

偶然遇见同样的问题,,发现源码改成这样就行了。。。呵呵
"R" (angtos $EF_LibROTATE)
       pause )
(command "EXPLODE" (entlast))
页: 1 [2] 3
查看完整版本: 信.cad图库管理插入的块如何炸开?一行代码搞得我头发都掉了。