entmake实心椭圆
我正在构建一个等距标注的应用程序。我可以毫无问题地制作所有正常的箭头。我还可以画一个椭圆。但当我试图做一个实心椭圆时,我被卡住了。最后,我想把实心椭圆(或图案填充)嵌入到一个块中。当我绘制椭圆并创建其实体图案填充时,我看到以下数据:
选择对象:(-1。)(0.HATCH)(330.7ef01cf8>)(5.22AC)(100.AcDbEntity)(67.0)(410.Model)(8.0)(100。
AcDbHatch)(10 0.0 0.0 0.0)(210 0.0 0.0 1.0)(2.实心)(70.1)(71.1)(91)
. 1) (92.1)(93.1)(72.3)(10 0.0 0.0 0.0)(11-0.612372 3.74958e-017)
0.0)(40.0.57735)(50.0.0)(51.6.28319)(73.1)(97.1)(330。名称:7ef03488>)(75.1)(76.1)(98.1)(10.0.0.0)(450.0)(451)。
0) (460 . 0.0) (461 . 0.0) (452 . 0) (462 . 1.0) (453 . 2) (463 . 0.0) (63 . 5)
(421.255)(463.1.0)(63.2)(421.16776960)(470.线性))
第97组之后是椭圆的名称。因此,我创建了椭圆,并尝试将其实体编号作为330组添加到图案填充的entmake中。这似乎是不可能的。
唯一的其他方法似乎是将椭圆转换为点列表或仅使用标准autocad命令,但我只想知道是否有可能将实体名称作为边界数据传递给entmake。
任何人
RLX公司 欢迎来到CADTutor rlx
虽然理论上可以使用entmake(x)实现,但使用Visual LISP的ActiveX(COM)方法生成图案填充实体要容易得多-下面是一个快速示例来演示:
(defun c:hatchtest ( / cen hat maj mni rat spc )
(if
(and
(setq cen (getpoint "\nSpecify ellipse center: "))
(setq maj (getpoint cen "\nSpecify major axis endpoint: "))
(setq mni (getpoint cen "\nSpecify minor axis length: "))
)
(progn
(if (< 1.0 (setq rat (/ (distance cen mni) (distance cen maj))))
(mapcar 'set
'( mni maj rat )
(list maj mni (/ 1.0 rat))
)
)
(vla-appendouterloop
(setq hat
(vla-addhatch
(setq spc
(vlax-get-property (vla-get-activedocument (vlax-get-acad-object))
(if (= 1 (getvar 'cvport))
'paperspace
'modelspace
)
)
)
achatchpatterntypepredefined
"SOLID"
:vlax-true
achatchobject
)
)
(vlax-make-variant
(vlax-safearray-fill (vlax-make-safearray vlax-vbobject '(0 . 0))
(list
(vla-addellipse spc
(vlax-3D-point (trans cen 1 0))
(vlax-3D-point (trans (mapcar '- maj cen) 1 0))
rat
)
)
)
)
)
(vla-evaluate hat)
)
)
(princ)
)
(vl-load-com) (princ) 我不经常这么说(实际上从来没有),但你真的是我的英雄!你是不是一个智商很高的外星人
thanx人! 感谢您对rlx的恭维,您能这么说真是太好了-
但是,在伟大的计划中涉及到编程的地方,我只是一条大池塘里的小鱼 你不是!!因为我们其他人不想成为蝌蚪或幼虫
你是我们当中的巨鲸!!!
哈哈谢谢hanhphuc
我的观点是,AutoLISP只是编程冰山的一角 https://www.cadtutor.net/forum/attachment.php?attachmentid=51528&cid=1&stc=1
我在荷兰卑尔根op Zoom的sabic(前GE)工作,我的同事们仍然在使用isomectric,手工剪切和粘贴尺寸,所以我决定做些什么,并建立了一个界面,但“点”阻碍了我的路哈哈,不再是李的X了。
看起来很好rlx-做得好!
页:
[1]