| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Spline in Kreise umwandeln (5692 mal gelesen)
|
addibaba66 Mitglied
Beiträge: 36 Registriert: 13.06.2008 AutoCAD 2007 + Windows
|
erstellt am: 15. Mrz. 2011 20:50 <-- editieren / zitieren --> Unities abgeben:
Hallo habe folgendes Problem: Muß eine Zeichnung in Programm für Stanzautomat umwandeln. Die Zeichnung besteht aus ca. 14000 SPLINE in "Form" von Kreisen mit unterschiedlichen Abmessungen. Es sind aber keine Kreise! Nun kann ich von Hand auf jeden einzelnen SPLINE eine Kreis durch 2 Punkte erstellen und anschließend den Duchmesser auf 1/10 mm Genauigkeit anpassen. Aber 14000x ??? Gibt es eine Möglichkeit die Spline durch Kreise zu ersetzen? Ich weiß im Archiv steht dazu was - hab ich auch probiert. Aber die erzeugten Kreise haben andere Durchmesser und andere Positionen. Man müßte den Abstand der 2 Punkte auslesen, die Mitte als Centrum festlegen und einen Kreis erzeugen mit einem auf 1/10 gerundeten Durchmesser (Abstand der 2 Punkte). Nun bin ich aber was LSP betrifft Amateur. Kann mir jemand helfen? Danke. addibaba66
------------------ SA Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 15. Mrz. 2011 22:30 <-- editieren / zitieren --> Unities abgeben: Nur für addibaba66
Mach mal mit WBLOCK einen Ausschnitt mit einigen typischen Splines und stelle die Zeichnung hier ein, dann ist es einfacher den Aufwand abzuschätzen oder gar ein kleines Makro für den speziellen Anwendungsfall zu erstellen. ------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 15. Mrz. 2011 22:36 <-- editieren / zitieren -->
Hi, anbei ein VBA-File, dieses von Windows-Explorer per Drag&Drop ins AutoCAD hineinziehen (im Graphikbereich von AutoCAD fallen lassen, das bewirkt, dass das VBA-Modul geladen wird). Dann Befehl VBAAUSF und im darauf folgenden Dialog die Zeile mit ....SplineCircleToCircle anklicken und dann 'Ausführen'. Dies erzeugt Kreise, die sich aus den Extents der Splines errechnen. VORSICHT: dieses Tool ist nicht ausreichend getestet (insbesondere in bezug auf unterschiedliche Spline-Typen), daher bitte vorher Speichern und nachfolgend kontrollieren! HTH, - alfred - ------------------ www.hollaus.at |
addibaba66 Mitglied
Beiträge: 36 Registriert: 13.06.2008 AutoCAD 2007 + Windows
|
erstellt am: 16. Mrz. 2011 08:19 <-- editieren / zitieren --> Unities abgeben:
|
E-Boy Ehrenmitglied V.I.P. h.c. Elektroinstallateurmeister
Beiträge: 2731 Registriert: 23.06.2005 Autocad MEP 2019 E-Tools Win 10
|
erstellt am: 16. Mrz. 2011 08:31 <-- editieren / zitieren --> Unities abgeben: Nur für addibaba66
Hi, liegt das Problem an der Spline, kann das Programm mit Polylinien umgehen? Wenn ja dann mit Flatten die Zeichnung bearbeiten und fertig. ------------------ Gruß Stefan Nur Feiglinge speichern zwischen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 16. Mrz. 2011 09:21 <-- editieren / zitieren --> Unities abgeben: Nur für addibaba66
Hatt denn noch keiner das tool von Alfred getestet Hier noch mal ein Lisp Makro, das die Splines mit Kreisen überzeichnet, falls man noch kein VBA für AutoCAD nachinstalliert hat. Code: (vl-load-com) ; Udo Hübner 16.03.2011 - CAD.de Beitrag (defun c:sp2cir ( / aw cnt koordlist mitte radius) (prompt "\nBitte Splines zur Umwandlung in Kreise wählen:") (if (setq aw (ssget (list (cons 0 "SPLINE")))) (progn (setq cnt (sslength aw)) (While (>= (setq cnt (1- cnt)) 0) (setq koordlist (UH:getBoundingBox (ssname aw cnt)) mitte (mapcar '(lambda (x) (* 0.5 x)) (mapcar '+ (car koordlist)(cadr koordlist))) radius (/ (- (caadr koordlist) (caar koordlist)) 2.0) ) (COMMAND "_CIRCLE" mitte radius) ) ) ) ) ;;;;;;;;;;;;;;;;;;;;;;;; (defun UH:getBoundingBox (ename / minpoint maxpoint) (vla-getboundingbox (vlax-ename->vla-object ename) 'minpoint 'maxpoint) (mapcar 'vlax-safearray->list (list minpoint maxpoint)) )
------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
addibaba66 Mitglied
Beiträge: 36 Registriert: 13.06.2008 AutoCAD 2007 + Windows
|
erstellt am: 16. Mrz. 2011 17:46 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen Danke Das tool von Alfred funktioniert. SUPER Ich dachte nur das vielleicht noch eine Verbesserung möglich wäre und die entstandenen Kreise gleich noch im Durchmesser angepaßt werden könnten (mathematisch gerundet auf 0,1mm Genauigkeit). Das Non + ULTRA wäre noch die Ausrichtung der Zentrumspunkte der Kreise orthogonal auf gleiche Abstände. Falls das nicht geht habe ich aber auch schon eine Lösung mit Filter gefunden. Trotzdem DANKE an alle die geantwortet haben!!!!!!!! Gruß addibaba66 ------------------ SA Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, Civil 3D, MAP 3D, ACADM Inventor AutoCAD 2022, AIP 4-2022 Win 10
|
erstellt am: 16. Mrz. 2011 18:04 <-- editieren / zitieren --> Unities abgeben: Nur für addibaba66
Ok, nun hast du einen funktionierenden Quellcodes in VBA und Lisp. Das Anpassen des Radius (was gefällt dir aktuell nicht?) solle sich im Quellcode realisieren lassen. Das Normieren von X und y Ausrichtungen der Kreismittelpunkte kann man schon manuell recht einfach über die Eigenschaftenpalette realisieren - programmieren lässt sich natürlich praktisch alles - allerdings wurde es dir nach meiner Meinung hier schon zu bequem gemacht. Willst du selbst nicht programmieren lernnen, kaufe dir noch mehr Komfort als Dienstleistung bei einem Programmierer ein. ------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |