liudaoshan 发表于 2005-3-8 16:07:00

[ARX]如何将提取出的复线的点集变成acedSSGet “wp”项所需要的点集

生手求助;


如何将提取出的复线的点集变成acedSSGet “wp””cp”项所需要的点集,不知要组成链表还是数组.,请指教.并给出一小段示例代码. 谢谢.


以下代码为什么不行?


       acedEntSel("\n请选共用件外形[封闭多义线]:",ent,pt);<BR>                        struct resbuf *pointlist = NULL, *eb1;<BR>                        ads_name ss;<BR>                        acedSSAdd(NULL, NULL, ss);<BR>                        pData=acdbEntGet(ent);<BR>                        for(;pData!=NULL;pData=pData-&gt;rbnext)<BR>                        {<BR>                                if(pData-&gt;restype == 10)<BR>                                {<BR>                                        eb1=new resbuf;<BR>                                        eb1-&gt;rbnext = NULL;<BR>                                        eb1-&gt;restype = RTPOINT;<BR>                                        eb1-&gt;resval.rpoint = pData-&gt;resval.rpoint;<BR>                                        eb1-&gt;resval.rpoint = pData-&gt;resval.rpoint;<BR>                                        eb1-&gt;resval.rpoint = 0;<BR>                                        //acutPrintf("\n%d,%f,%f",i,pData-&gt;resval.rpoint,pData-&gt;resval.rpoint);<BR>                                        pointlist-&gt;rbnext = eb1;<BR>                                }<BR>                        }<BR>                        //pointlist-&gt;rbnext = NULL;<BR>                        //ads_point pt1, pt2, pt3, pt4; <BR>                        //pt1 = pt1 = pt1 = 0.0; <BR>                        //pt2 = pt2 = 500.0; pt2 = 0.0; <BR>                        //pt3 = 1000.0; pt3 = 500.0; pt3 = 0.0; <BR>                        //pt4 = 500.0; pt4 = pt4 = 0.0; <BR>                        //pointlist = acutBuildList(RTPOINT, pt1, RTPOINT, pt2, RTPOINT, pt3, RTPOINT, pt4, 0);


                        acedSSGet("WP", pointlist, NULL, NULL, ss);<BR>                        acutRelRb(eb1);<BR>                        acutRelRb(pointlist);
页: [1]
查看完整版本: [ARX]如何将提取出的复线的点集变成acedSSGet “wp”项所需要的点集