cabltv1 发表于 2022-7-6 15:07:46

需要代码来发送“CP”逗号

请帮忙!
我有一个例程,它将从另一个块属性更新一个块属性。它工作得很好,功能齐全。
无论如何,在选择源代码块后,代码要求“选择地址”[见下文]。此时,我必须在命令窗口中键入“CP”,然后按Enter键选择带有多边形的块。我希望代码进入“CP”模式,而不必键入它。
 

;reset variables
(setq tag_found nil)
(setq setset nil)
; get end block
(while (/= tag_found "true")
(princ "\nSelect Addresses ")(princ (chr 34))(princ stag_end)(princ (chr 34))
(setq selset(ssget '((0 . "INSERT"))))

 
谢谢你的帮助。

BIGAL 发表于 2022-7-6 15:15:09

当被要求选择时,按住鼠标左键并拖动
 
向右在窗口内
左边是过街窗口

cabltv1 发表于 2022-7-6 15:22:56

我很感激你的回复,但这并不能解决我的问题。
通常,选择的形状很奇怪。我只需要选择需要更新的块。选择可能包括12个或更多形状奇怪的点。http://www.onesourcecable.com/example.bmp

PS_Port 发表于 2022-7-6 15:30:13

需要更新/匹配的块是否具有相同的名称?

lpseifert 发表于 2022-7-6 15:32:40

尝试

(setq selset (ssget "_CP" '((0 . "insert"))))

 
顺便提一下这一切都在ssget下的开发者帮助中

CarlB 发表于 2022-7-6 15:38:45

不,这行不通,如果你在ssget中使用“cp”,你需要提供一个点列表。
 
我在考虑使用(命令“select”“cp”…)然后(ssget“p”等等)。但是我无法在用户不点击“回车”的情况下让“选择”结束,所以它不会保存删除那些拖拉的击键

wprovost 发表于 2022-7-6 15:45:25

尽管如此,;reset variables
(setq tag_found nil)
(setq setset nil)
; get end block
(while (/= tag_found "true")
      (princ "\nSelect Addresses ")
      (princ (chr 34))
      (princ stag_end)
      (princ (chr 34))
      (command "select" "cp")
      (setq selset(ssget "p" '((0 . "INSERT"))))仍然有效。这有点难看。我个人不希望select提示符自动消失。

CarlB 发表于 2022-7-6 15:53:11

我不得不添加一个“暂停”来让它工作,如:
 
(命令“select”“cp”暂停)
(setq selset(ssget“p”'((0。“插入”)))

cabltv1 发表于 2022-7-6 16:01:16

代码确实停止了,并允许我围绕块进行多边形,但代码不会超过该点。
我感谢大家的帮助。我想我将不得不接受原始代码。
 
再次感谢。

CarlB 发表于 2022-7-6 16:07:30

代码一直为我运行,但只有在选择后几次“输入”之后。
页: [1] 2
查看完整版本: 需要代码来发送“CP”逗号