Guest Alan Cullen Posted May 22, 2007 Share Posted May 22, 2007 ramis... Dave just snuck in before me......but I echo what he said.....there is nothing wrong with your English.......when you look at the diversity of members (which I absolutely aknowledge you are one) you will see there really is no problem with language......take Zars for e.g. You would never believe he can't speak English......(sorry, mate) Just join in and become a global member..... Quote Link to comment Share on other sites More sharing options...
ramis Posted May 22, 2007 Author Share Posted May 22, 2007 thank you dave:oops: concerning your French, don't worry... an AutoCAD expert like you... i'm sure that your French is perfect!!! i just hope that you will enjoy your trip in this marvellous country:D Quote Link to comment Share on other sites More sharing options...
Tankman Posted March 21, 2009 Share Posted March 21, 2009 I think I am missing something. I cannot actually see anything unexpected there. If you keep exploding a polyline it will eventually resolve into lines and arcs. These are the two base drawing components. Take a peek-a-boo at the attached *.dwg file. Might there be an easy way to convert this segmented circle into a solid circle? This segmented circle, and sometimes lines, was generated when I used pdf2cad to convert the *.pdf file to a *.dxf. The *.dxf saved to a *.dwg. More often than not, I delete the segmented "stuff" and redraw as required. Fragmented_Circle.dwg Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted March 21, 2009 Share Posted March 21, 2009 I think ASMI made this one: (defun c:CurvesToSegments(/ cSet sLen cLen sDis ptLst oOsn eLst cAns vCnt lPt) (vl-load-com) (princ "<<< Select curves to transform >>>") (if (setq cSet (ssget '((0 . "*POLYLINE,SPLINE,ARC,CIRCLE,ELLIPSE")))) (if(setq sLen(getdist "\nSpecify segment lentgth: ")) (progn (setq oOsn(getvar "OSMODE")) (setvar "CMDECHO" 0)(setvar "OSMODE" 0) (foreach itm(setq eLst(vl-remove-if 'listp (mapcar 'cadr(ssnamex cSet)))) (setq sDis 0.0 cLen(-(vlax-curve-getDistAtParam itm (vlax-curve-getEndParam itm)) (vlax-curve-getDistAtParam itm (vlax-curve-getStartParam itm))) ); end setq (if(= "LWPOLYLINE"(cdr(assoc 0(entget itm)))) (progn (setq vCnt 1 ptLst(list(vlax-curve-GetPointAtDist itm sDis))) (while(and (<= sDis cLen) (vlax-curve-GetPointAtParam itm vCnt) (setq cPt(vlax-curve-GetPointAtDist itm sDis)) ); end and (if(= 0.0(vla-GetBulge(vlax-ename->vla-object itm)(1- vCnt))) (setq ptLst(append ptLst (list(vlax-curve-GetPointAtParam itm vCnt))) sDis(vlax-curve-GetDistAtParam itm vCnt) ); end setq (progn (while(<= sDis(vlax-curve-GetDistAtParam itm vCnt)) (setq cPt(vlax-curve-GetPointAtDist itm sDis) ptLst(append ptLst(list cPt)) sDis(+ sDis sLen)) ); end while (setq ptLst(append ptLst (list(vlax-curve-GetPointAtParam itm vCnt)))) ); end progn ); end if (setq vCnt(1+ vCnt)) ); end while ); end progn (while(and (<= sDis cLen) (setq cPt(vlax-curve-GetPointAtDist itm sDis)) ); end and (setq ptLst(append ptLst(list cPt)) sDis(+ sDis sLen)) ); end while ); end if (if(not(equal(setq lPt(vlax-curve-getEndPoint itm))(last ptLst))) (setq ptLst(append ptLst(list lPt))) ); end if (command "_.pline")(mapcar 'command ptLst)(command "") (setq ptLst nil) ); end foreach (initget "Yes No") (setq cAns(getkword "\nRemove old curves [Yes/No] <Yes>: ")) (if(or(null cAns)(= cAns "Yes")) (mapcar 'entdel eLst) ); end foreach (setvar "CMDECHO" 1)(setvar "OSMODE" oOsn) ); end progn ); end if ); end if (princ) ); end of c:CurvesToSegments Quote Link to comment Share on other sites More sharing options...
skipsophrenic Posted March 21, 2009 Share Posted March 21, 2009 Umm, lee & tankman - last reply to this thread was back in may 2007, Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.