(if ll (progn (command "'LAYER" "ON" "COLU,BEAM,AXIS" "") (setq ll nil)) (progn (command "'LAYER" "O ...
本着深入学习Z大代码的目的,我又在宏里面写了一段代码
(vl-load-com)
(setq ss (entsel))
(command "'region" (car ss) "")
(setq en (entlast))
(setq at (vla-get-Centroid (vlax-ename->vla-object en)))
(setq bo (vlax-safearray->list (vlax-variant-value at)))
设置的组合键是ctrl+F,程序返回的是矩形的形心。因为经常要在移动,复制等命令中捕捉矩形的形心点,以前我总是在命令中用透明命令mtp来捕捉形心。但每次mtp都要点两次矩形的角点,我嫌麻烦,这次学习了Z大可以在宏中使用带透明命令,所以就尝试写了这样的代码。
但是测试中又发现问题了,首先(setq ss (entsel))好像就执行不了,其次region也不能使用透明命令,Z大有办法吗?
azbk00 发表于 2015-11-4 13:39 static/image/common/back.gif
本着深入学习Z大代码的目的,我又在宏里面写了一段代码
(vl-load-com)
(setq ss (entsel))
透明的命令只有不产生图元的几个命令。这是为了不发生绘图逻辑错误。 ZZXXQQ 发表于 2015-11-4 15:13 static/image/common/back.gif
透明的命令只有不产生图元的几个命令。这是为了不发生绘图逻辑错误。
嗯,还有就是每次执行改宏命令的时候,下面都会出现这么一长串字符。我尝试着在开头加上(setvar "cmdecho" 0)或者在末尾加上(princ),都无效。请问有办法屏蔽掉吗?
还有就是在copy、move等命令执行过程中,到选择基点的时候,没办法通过宏来直接捕捉到矩形的形心吗?
azbk00 发表于 2015-11-4 16:53 static/image/common/back.gif
嗯,还有就是每次执行改宏命令的时候,下面都会出现这么一长串字符。我尝试着在开头加上(setvar "cmdec ...
在头尾加上^P
页:
1
[2]