| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für BricsCAD |
| |
 | Jetzt unkompliziert Reseller Partner für CAD und AEC Produkte in DACH werden!, eine Pressemitteilung
|
Autor
|
Thema: Spline zu Polylinie (2542 mal gelesen)
|
Theodor Schoenwald Ehrenmitglied
    
 Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 01. Okt. 2009 18:03 <-- editieren / zitieren --> Unities abgeben:         
Hallo, leider gibt es in BricsCad den Befehl "WMFIN" nicht, sonst könnte ich ganz einfach Splines in Polylinen umwandeln. Genau so ging es mir die ganze Zeit mit Text, aber dieses Problem ist inzwischen sehr gut (besser als bei ACAD) gelöst. Kennt jemand eine Lösung für BricsCad um Splines in Polylinien zu wandeln? Gruß Theodor Schönwald Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wolfgang Gruber Mitglied CAD für den Metallbau - Fenster, Türen und Fassaden
 
 Beiträge: 480 Registriert: 27.11.2003 Mod.: SYSCAD
|
erstellt am: 01. Okt. 2009 19:19 <-- editieren / zitieren --> Unities abgeben:          Nur für Theodor Schoenwald
|
Theodor Schoenwald Ehrenmitglied
    
 Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 01. Okt. 2009 20:43 <-- editieren / zitieren --> Unities abgeben:         
Danke Wolfgang, mit speichern unter ACAD12 habe es auch schon gemacht. Die Kontur ist danach in viele (zu viele) kleine Striche zerlegt. Inzwischen habe ich auch eine Lisp-Datei zum umwandeln gefunden, da sind aber die Abweichungen der neuen zu alten Kontur zu groß. Gruß Theodor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wolfgang Gruber Mitglied CAD für den Metallbau - Fenster, Türen und Fassaden
 
 Beiträge: 480 Registriert: 27.11.2003 Mod.: SYSCAD
|
erstellt am: 02. Okt. 2009 09:48 <-- editieren / zitieren --> Unities abgeben:          Nur für Theodor Schoenwald
|

| |
Theodor Schoenwald Ehrenmitglied
    
 Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 02. Okt. 2009 10:39 <-- editieren / zitieren --> Unities abgeben:         
Hallo Wolfgang, schade finde ich es nicht, es ist auf jeden Fall eine gute Lösung. Da die Polylinie zur CNC-Bearbeitung benötigt wird, kann es sein,dass die Maschine bei den kleinen Linienstücken ruckelt. Bögen mit tangentialen Übergängen sind für die weitere Bearbeitung besser. Nach langem Suchen habe ich eine Lisp-Datei gefunden und kleine Anpassungen vorgenommen. Gruß Theodor Schönwald ;;; CurveToPolyline ;; (defun C:CVPL (/ ENTNAME INCR X LOE) (setvar "cmdecho" 0) (vl-load-com) (setq X (entsel "\nEine Ellipse oder Spline wählen: ") ENTNAME (car X) INCR (progn (initget 7) (getdist "\nAbstand der einzelnen Incremente:" (cadr X)) ) ) ;; 2*incr = one arc (CURVE->POLYLINE ENTNAME (* 2 INCR)) (command "_CHPROP" (entlast) "" "_COLOR" 5 "") (command "REGEN") (initget "J N") (setq LOE (getkword "\nSoll die vorherige Kontor gelöscht werden? N/<J>: ")) (if (or (not LOE) (= LOE "J")) (entdel ENTNAME) ) (princ) ) (defun CURVE->POLYLINE (ENAME ARCLEN / ENTDATA POLYNAME N DELTA TOTLENGTH CURLEN) (setq ENTDATA (entget ENAME)) (cond ((not (member (setq POLYNAME (cdr (assoc 0 ENTDATA))) '("ELLIPSE" "SPLINE"))) (princ "\nObjekt ist keine Ellipse oder Spline,") (princ " es kann nicht in eine Polyline gewandelt werden.") ) (t (setq TOTLENGTH (vlax-curve-getdistatparam ENAME (vlax-curve-getendparam ENAME)) CURLEN 0 ;; at least 2 arcs N (max 2 (1+ (fix (/ TOTLENGTH ARCLEN)))) ) (if (= POLYNAME "ELLIPSE") (if (= 1 (logand N 1)) (setq N (1+ N)) ) ) ;; make it even for ellipse (setq DELTA (/ TOTLENGTH N 2.0)) ;;First point of polyline (command "_.pline" "_non" (trans (vlax-curve-getstartpoint ENAME) 0 1) "_arc") (repeat N (setq CURLEN (+ CURLEN DELTA)) ;; second point of arc (command "_second" "_non" (trans (vlax-curve-getpointatdist ENAME CURLEN) 0 1)) (setq CURLEN (+ CURLEN DELTA)) ;; end point of arc (if (< CURLEN (- TOTLENGTH DELTA)) (command "_non" (trans (vlax-curve-getpointatdist ENAME CURLEN) 0 1)) (command "_non" (trans (vlax-curve-getendpoint ENAME) 0 1) "") ) ) (setq POLYNAME (entlast)) POLYNAME ) ) ) (princ) (prompt "\nStarten mit CVPL") (princ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |