[原创]vla-lntersectwith如何从VBA转化为VL
<p>我要求两多义线的交点,看了<font color="#ff0000"><strong>mccad管理员的帖子和</strong></font><font color="#000000"><a href="http://www.mjtd.com/object/acad2004/idh_intersectwith.htm">http://www.mjtd.com/object/acad2004/idh_intersectwith.htm</a>关于<p class="MsoNormal" align="left" style="MARGIN: 7.65pt 0cm 5pt; TEXT-INDENT: 3pt; TEXT-ALIGN: left; mso-pagination: widow-orphan;"><font face="Times New Roman">IntersectWith </font>方法的说明,写了下面的程序,(defun c:pll()<br/> (vl-load-com)<br/> (setq myacad (vlax-get-acad-object))<br/> (setq mydoc (vla-get-ActiveDocument myacad))<br/> (setq myms (vla-get-ModelSpace mydoc))<br/> (setq myline (vla-addline myms(vlax-3d-point '(10 20)) (vlax-3d-point '(30 80))))<br/> (setq myline2 (vla-addline myms(vlax-3d-point '(10 40)) (vlax-3d-point '(60 40))))<br/> (setq mypoint(vla-IntersectWith myms myline myline2))<br/>)调用(setq mypoint(vla-IntersectWith myms myline myline2))显示:错误: ActiveX 服务器返回错误: 未知名称: IntersectWith有哪为高手给指点一下..</p></font></p><p class="MsoNormal" align="left" style="MARGIN: 7.65pt 0cm 5pt; TEXT-INDENT: 3pt; TEXT-ALIGN: left; mso-pagination: widow-orphan;"><font face="Times New Roman">IntersectWith </font>方法的说明,写了下面的程序,(defun c:pll()<br/> (vl-load-com)<br/> (setq myacad (vlax-get-acad-object))<br/> (setq mydoc (vla-get-ActiveDocument myacad))<br/> (setq myms (vla-get-ModelSpace mydoc))<br/> (setq myline (vla-addline myms(vlax-3d-point '(10 20)) (vlax-3d-point '(30 80))))<br/> (setq myline2 (vla-addline myms(vlax-3d-point '(10 40)) (vlax-3d-point '(60 40))))<br/> (setq mypoint(vla-IntersectWith myms myline myline2))<br/>)调用(setq mypoint(vla-IntersectWith myms myline myline2))显示:错误: ActiveX 服务器返回错误: 未知名称: IntersectWith有哪为高手给指点一下..</p> Command: (setq mypoint (vla-IntersectWith myline myline 2))<br/>#<variant 8197 ...> 谢谢了..<strong><font face="Verdana" color="#61b713">Andyhon.多谢指点..</font></strong> <p><strong><font face="Verdana" color="#61b713">Andyhon版主,我按照你的指点,我得到了交点,可无法返回交点的坐标. (vlax-variant-value mypoint)<br/>#<safearray...></font></strong></p><p><strong><font face="Verdana" color="#61b713">命令: (vlax-variant-type mypoint)<br/>8197命令: (vlax-safearray->list mypoint)<br/>; 错误: 参数类型错误: safearrayp #<variant 8197 ...> 命令: (vlax-safearray->list (vlax-variant-value mypoint))<br/>; 错误: ActiveX 服务器返回错误: 无效索引。 请问版主用什么函数能得到交点坐标啊.</font></strong></p> 版主不用麻烦你你我自己出了点小错..麻烦了. <p><strong><font face="Verdana" color="#61b713">Andyhon版主我要如图给等值线加标注,但标注要跟等值线垂直,交点都求出来了,可如何确定角度我想求交点的切线有这样函数吗??谢谢了</font></strong></p> <p>Andyhon不是版主,条件未足是也</p><p>我想求交点的切线? 何谓也<br/>(angle pt1 pt2) 求角度,而您要的不是这个!?</p> Andyhon,不好意思下次注意 我知知道(angle pt1 pt2) 可以,但是如何求pt1和pt2,我是在交点处标注的啊,知道了交点如何求其两测的线上的端点呢??我用(setq b(vlax-curve-getClosestPointTo vell a)),vell为点所在的多义线,a为交点,可求出来的点还是交点啊.? 理解不来,可有图解说明
页:
[1]
2