用于开关之间的电抗器
也许有人能给我指出正确的方向。。。最后,我想在MS/PS之间切换时设置dimscale;将dimscale设置为与VP scale相同(例如VP scale-1”=50’,dimscale=50;或者可能使用Cannoscalevalue),并在切换到PS时将dimscale设置为1。我似乎找不到在反应器中使用的正确事件。有什么想法吗?事先警告一下,这是我第一次尝试使用反应堆。
谢谢- 这是一个lpseifert示例,我认为您可以从这里开始….'-)
(vl-load-com)
(defun chtab ()
(if (not ct_rea)
(setq
ct_rea (vlr-miscellaneous-reactor
nil
'((:VLR-layoutSwitched . yourlispnamegoeshere))
) ;_ end_vlr-sysvar-reactor
) ;_ end_setq
) ;_ end_if
) ;_ end_defun
(chtab)
(defun yourlispnamegoeshere (event parameter)
(princ "YOU SWITCHED LAYOUT")
) ;_ end_defun
*编辑*
我知道你已经在找活动了,我会查一下我能查到什么 谢谢wizman,但我相信当你切换布局选项卡时,这会调用一个reactor;我希望在同一个布局选项卡上从MS切换到PS(反之亦然)的反应。 请尝试lpseifert:
(vl-load-com)
(defun chspce ()
(if (not ch_spce)
(setq
ch_spce (vlr-sysvar-reactor
nil
'((:vlr-sysvarchanged . yourlispnamegoeshere))
) ;_ end_vlr-sysvar-reactor
) ;_ end_setq
) ;_ end_if
) ;_ end_defun
(chspce)
(defun yourlispnamegoeshere (event parameter)
(If (eq (car parameter) "CVPORT")
(princ "YOU SWITCHED SPACE")
) ;_ end_If
) ;_ end_defun 非常感谢wizman,当我切换时会触发反应堆。请问变量“event”和“parameter”的用法是什么?Autodesks帮助对vlr功能没有真正的帮助。 欢迎使用lpseifert,这些是反应器触发的结果参数,事件是反应器对象,参数是元素列表,这些元素因特定事件而异
特别是:vlr sysVarChanged:
参数是由2项组成的列表,即
第一个参数是标识系统变量名称的字符串。(这就是为什么使用汽车)
第二个参数是指示更改是否成功的符号(如果成功,则为T,如果不成功,则为nil)。
看一看vlisp圣经,它也有一个很好的反应堆讨论。 非常感谢Wizman的上述解释,-我总是对参数的函数感到困惑,尤其是。。。
非常感谢
李 这是我到目前为止得到的,也许有人会发现它很有用。对于我使用的比例,似乎效果不错,我还没有测试过建筑比例。
多亏了威兹曼,他完成了举重。
我希望通过提取视口的dxf代码来设置dimscale,但在没有实际拾取视口边界的情况下,无法想出如何进行entsel。有人知道怎么做吗? 这将选择您的视口
(if
(setq ss_vp
(ssget "_x"
(list
(cons 410 (getvar "ctab"))
(cons 0 "VIEWPORT")
);list
);ssget
);setq
(setq ent_vp
(entget
(ssname ss_vp 0)
);entget
);setq
);if 也可能?
4
页:
[1]
2