hmsilva 发表于 2022-7-5 20:45:36

 
这是个坏消息!
 
Brian,我在这个ooollddd笔记本电脑中没有AC2015,但我记得AC2015上“bpoly”函数生成的错误上的一些线程,我不知道它是否在某些SP中得到了纠正。。。
 
“bpoly”中的错误是一个无休止的循环,如果您可以尝试代码,请在新的dwg中尝试代码,并且只有一个打开的dwg,以防您不得不“终止进程”。
告诉我它是否有效。
 
如果没有,我们可能必须将“bpoly”更改为命令,并测试有效的新“entlast”。。。
在AC2015年,它也应该像预期的那样工作

(vl-load-com)
(defun c:demo ( / adoc bp cen ent-l lays msp pa pl plo reg sfa txt)
(setq adoc (vla-get-activedocument (vlax-get-acad-object))
       msp (vla-get-modelspace adoc)
       lays (vla-get-layers adoc)
   )
(vla-add lays "Router - Green - V groove")
(setq ent-l (entlast))
(while (and (setq pa (getpoint "\n Select Panel Area: "))
             (setq pl (getstring (strcat "\nEnter a Panel Label <" (cond (*pl) ("123")) ">: "))
                   *pl (cond ((/= pl "") (strcase pl)) (*pl) ("123"))
                   )
             (vl-cmdf "-boundary" "Advanced" "Island" "No" "Nearest" "" pa "")
             (setq bp (entlast))
             (not (eq ent-l bp))
             )
   (setq plo (vlax-ename->vla-object bp)
         sfa (vlax-make-safearray vlax-vbObject '(0 . 0))
   )
   (vla-put-layer plo "Router - Green - V groove")
   (vlax-safearray-put-element sfa 0 plo)
   (setq reg (car (vlax-safearray->list (vlax-variant-value (vla-addregion msp sfa))))
         cen (vlax-get reg 'centroid)
         )
   (vla-delete reg)
   (setq txt (vla-AddText msp *pl (vlax-3D-point (trans cen 1 0)) (getvar 'TEXTSIZE)))
   (vla-put-alignment txt 10)
   (vla-put-textalignmentpoint txt (vlax-3D-point (trans cen 1 0)))
   (vla-put-rotation txt (angle (list 0 0)(getvar 'UCSXDIR)))
   (setq ent-l bp)
   )
(princ)
)

 
希望有帮助
亨里克

BrianTFC 发表于 2022-7-5 20:47:27

亨里克,
 
它运行得很好,非常感谢。我和你换了同一行,但我记不起
我理解你为什么使用
(setq bp (entlast))获得(BP),但什么是
(not (eq ent -1 bp)平均值?
 
再次感谢大家的帮助。。。
布瑞恩

Tharwat 发表于 2022-7-5 20:51:54

把你的和Henrique做的比较

hmsilva 发表于 2022-7-5 20:55:21

 
不客气,布莱恩!
 
这个
(not (eq ent-l bp))
用于测试有效的新bpoly,如果不等于“boundary”命令之前的最后一个实体,则只需测试。
 
您没有在AC2015上测试“bpoly”功能,对吗?
 
干杯
亨里克

BrianTFC 发表于 2022-7-5 20:58:51

好的,我想在创建图层时更改图层的颜色,我在这行的哪里可以这样做?
 
(vla-add lays "Router - Green - V groove")
 
布瑞恩

rkent 发表于 2022-7-5 21:01:05

我使用一个简单的宏来居中文本。
^C^C.MTEXT;\J;MC;LA.1X;
选择开始并选择面板的对角,键入标签。
 
这只是另一个需要考虑的选择。

hmsilva 发表于 2022-7-5 21:04:02

 
 
好的,第二次尝试。。。。
 
 
您没有在AC2015上测试“bpoly”功能,对吗?
 
 
要更改图层颜色,请尝试
9
 
 
亨里克

BrianTFC 发表于 2022-7-5 21:07:08

好吧,我发动了一次**袭击
它工作得很好。现在我知道你说的测试线是什么意思了。
 
谢谢
 
亨里克

hmsilva 发表于 2022-7-5 21:08:51

不客气,布莱恩
很高兴我能帮忙
 
 
第三次尝试。。。。
您没有在AC2015上测试“bpoly”功能,对吗?
 
 
亨里克

BrianTFC 发表于 2022-7-5 21:12:02

我试着运行您发布的第一个lisp例程,但在AC2015中没有运行。
页: 1 [2]
查看完整版本: 如何将文本居中放置在