ARX高手请进
<P> 我开发一个ARX程序,需动态反馈,需要知道当前光标位置。用acedGrRead时,不能实现OSnap。用acedGetPoint可获得最点及实现OSnap,但不能动态反馈。</P><P> 使用acedGetPoint函数,同时创建另一线程使用acedGrRead实现动态反馈,确总是AutoCAD崩溃(使用::GetMouseCursor()及鼠标勾子也同样)。</P>
<P> 望哪位高手能解我所惑,并帮我实现上述意图,将不胜感激,并将用其它源资及知识回报。</P>
<P><A href="mailto:zzg_china@yahoo.com.cn" target="_blank" >zzg_china@yahoo.com.cn</A></P> <P>不知道下面代码对你有没有帮助!!!!</P>
<P>////////////////////////////////////////////////////////////<BR>//动态移动选择集<BR>////////////////////////////////////////////////////////////<BR>//跟踪矩阵(无限制)<BR>int trancematrix(ads_point usrpt,ads_matrix matrix)<BR>{<BR> int i,j;<BR> for(i=0;i<=3;i++) for(j=0;j<=3;j++) matrix=0,0;<BR> for(i=0;i<=3;i++) matrix=1.0;<BR> matrix=usrpt;<BR> matrix=usrpt;<BR> matrix=usrpt;<BR> return RTNORM;<BR>}<BR>//函数名:acdbDragSset<BR>//功能:动态移动一个选择集<BR>//选择集:ssetname<BR>//移动参照点:referpoint<BR>Acad::ErrorStatus acdbDragSset(<BR> ads_name ssetname,<BR> AcGePoint3d referpoint<BR>)<BR>{<BR> ads_point rtpnt;<BR> int status;<BR> status=acedDragGen(ssetname,<BR> "\n请选择一个插入点:",<BR> 0,<BR> trancematrix,<BR> rtpnt);<BR> if(status!=RTNORM){<BR> return Acad::eNotImplementedYet;<BR> }<BR> else{<BR> AcGePoint3d newposition;<BR> newposition.set(rtpnt,rtpnt,rtpnt);<BR> return acdbMoveSset(ssetname,referpoint,newposition);<BR> }<BR>}</P>
<P>请参考acedDragGen()函数定义</P>
页:
[1]