| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Ellipse -> Kreis (7263 mal gelesen)
|
GuG Mitglied
Beiträge: 333 Registriert: 07.02.2002 ACAD2002SP1 / W2kSP4 / P3-866 / HP DesignJet 1050c; - bei C_Dilla- od. Netzwerkproblemen Kuhlmann Zeichenbrett A0 :)
|
erstellt am: 20. Aug. 2002 13:28 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe vor einiger Zeit eine Zeichnung bekommen in der sämtliche Kreise keine Kreise sind, sondern kreisrunde Ellipsen. Diese mehr als 250 runden Ellipsen sind zusätzlich noch verdreht, d.h die Griffe liegen nicht auf 0,90,180 und 270° sondern mit unterschiedlichen Winkeln irgendwo dazwischen. Die Ellipsen, die ich unbedingt ändern mußte, habe ich schon durch Kreise ersetzt. Schöner wäre es allerdings alle zu ersetzen um bei der nächsten Änderung nicht wieder fummeln zu müssen. Weiß jemand eine bessere Möglichkeit als das manuelle Ersetzen ????? Gruß Gunnar PS: ACAD2002 pur, NT4SP5
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TLieske Mitglied Bauingenieur
Beiträge: 247 Registriert: 12.07.2002 18xAutoCAD, SofiCAD, Vestra, AutoTURN, WinXP_Prof(SP3), PIV-3, 4GBRAM, 2xHP1050C, CARD1, Microstation, AutoVUE ...
|
erstellt am: 20. Aug. 2002 16:43 <-- editieren / zitieren --> Unities abgeben: Nur für GuG
Hallo Gunnar, das ist bestimmt 'ne dxf-Datei gewesen. Ekliger wird's, wenn statt Kreise Polylinien (als z.B. 32-Eck) geliefert worden sind, aber das ist ein anderes Thema. Sollen denn alle Kreise denselben Durchmesser haben? Oder sind die etwa noch unterschiedlich? Nächste Änderung? Kommt da noch mehr? Da kann man vielleicht dem Ersteller der Zeichnungen mal auf die Finger klopfen, wenn's deren CAD-System macht. Meiner Meinung nach kommst Du diesem Problem nur mit Lisp o.ä. bei. Alle Ellipsen in den Auswahlsatz, Kreise mit entsprechendem Zentrum und Hauptachsenlänge als Radius drüberzeichnen, Auswahlsatz löschen. Vorher prüfen, ob Objekt Radienverhältnis 1,0000 hat. Da ich im vernünftigen Rahmen (Zeit) gerade mal ein paar Zeilen Lisp hinbekomme, kann ich Dir solch ein Tool nicht anbieten. Aber vielleicht gibt es ja einen Lisp-Guru (oder VBA?) in der cad.de-Welt, der sich dieses Problems annimmt oder gar eine bessere Lösung parat hat.
------------------ Thomas Lieske Schüßler-Plan Ing.-GmbH Frankfurt-Sachsenhausen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GuG Mitglied
Beiträge: 333 Registriert: 07.02.2002 ACAD2002SP1 / W2kSP4 / P3-866 / HP DesignJet 1050c; - bei C_Dilla- od. Netzwerkproblemen Kuhlmann Zeichenbrett A0 :)
|
erstellt am: 21. Aug. 2002 08:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, richtig - es war eine DXF-Datei. Die Kreise haben dummerweise unterschiedliche Durchmesser, wäre doch sonst zu einfach ;-) Dem Ersteller kann ich leider nicht mehr die Füße spitz hacken, denn die Firma gibt es nicht mehr. Die nicht mehr existierende Firma hat uns damals kurz vom endgültigen Ende die Zeichnungen überlassen/verkauft wg. Ersatzteilbeschaffung. An den Anlagen wurde jedoch zwischenzeitlich einiges geändert bzw. wird noch geändert (Erweiterung, Verbesserung, geänderte Werkstoffe etc.) so das ich immer wieder mit den Ellipsen zusammenstoße. Im Augenblick ist das Thema erst mal wieder durch, aber spätestens im Winter wirds mich wieder erwischen. Gruß Gunnar
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RoSiNiNo Mitglied Konstrukteur
Beiträge: 1126 Registriert: 09.10.2002 Autodesk Building Design Suite Premium 2021 Windows 10 Pro 64bit HP Workstation Z620, 24GB GeForce GTX 970
|
erstellt am: 21. Aug. 2002 08:15 <-- editieren / zitieren --> Unities abgeben: Nur für GuG
Hallo Gunnar, möchtest du einfach ein Tool das alle Ellipsen durch Kriese ersetzt (das ist schnell gemacht)? Oder möchtest du einen Block erstellen der einen Kreis mit einem Radius von eins beinhaltet, der dann in jedem Zentrum der Ellipse eingesetzt und in die richtige Ellipsengröße gescaled wird (das ist dann etwas mehr Aufwand)? Möchtest du alle Ellipsen einer Zeichnung ändern oder diese Ellipsen auswählen? Sag bitte genau was du möchtest. Roland ------------------
Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GuG Mitglied
Beiträge: 333 Registriert: 07.02.2002 ACAD2002SP1 / W2kSP4 / P3-866 / HP DesignJet 1050c; - bei C_Dilla- od. Netzwerkproblemen Kuhlmann Zeichenbrett A0 :)
|
erstellt am: 21. Aug. 2002 08:23 <-- editieren / zitieren --> Unities abgeben:
Hi Roland, alle Ellipsen mit einem Achsverhältnis von 1:1 ohne Auswahl (also alle) gegen stinknormale Kreise austauschen - das wäre genau das richtige. Wenn Du mir so etwas stricken könntest wäre das super, eilt aber nicht! Gruß Gunnar
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RoSiNiNo Mitglied Konstrukteur
Beiträge: 1126 Registriert: 09.10.2002 Autodesk Building Design Suite Premium 2021 Windows 10 Pro 64bit HP Workstation Z620, 24GB GeForce GTX 970
|
erstellt am: 21. Aug. 2002 08:42 <-- editieren / zitieren --> Unities abgeben: Nur für GuG
Hallo Gunnar, einfach in VBA einfügen. vbaide aufrufen, neues Modul einfügen und folgenden Code hineinkopieren. Code:
Public Sub EllipseInKreis() ' Feletic 21.08.2002 ' Ändert alle Ellipsen in Kreise, übernimmt Einsetzpunkt und den großen Achsradius Dim Ell As AcadEllipse Dim SS As AcadSelectionSet Dim FltTypes(0) As Integer Dim FltData(0) As Variant ' Frage nach den zu bearbeitenden Blöcken On Error Resume Next Set SS = ThisDrawing.SelectionSets("EllipseInKreisAuswahl") If Err Then Set SS = ThisDrawing.SelectionSets.Add("EllipseInKreisAuswahl") Err.Clear SS.Clear FltTypes(0) = 0: FltData(0) = "ELLIPSE" ' Selectionset erstellen, Benutzer fragen und Filter anwenden SS.Select acSelectionSetAll, FltTypes, FltData If SS.Count = 0 Then GoTo ENDE For Each Ell In SS Select Case ThisDrawing.ActiveSpace Case Is = 0 Select Case ThisDrawing.MSpace Case True ThisDrawing.ModelSpace.AddCircle Ell.Center, Ell.MajorRadius Case False ThisDrawing.PaperSpace.AddCircle Ell.Center, Ell.MajorRadius End Select Case Is = 1 ThisDrawing.ModelSpace.AddCircle Ell.Center, Ell.MajorRadius End Select Ell.Delete Next Ell ENDE: SS.Delete End Sub
------------------ Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 21. Aug. 2002 08:49 <-- editieren / zitieren --> Unities abgeben: Nur für GuG
Hallo Gunnar, anbei die Lösung in Lisp (defun c:el->k (/ ALISTE) (setq ALISTE (ssget "X" '((-4 . "<and") (0 . "ELLIPSE") (-4 . "and>") ) ) ) (if ALISTE (mapcar '(lambda (el) (aust_el_k(apply 'append(mapcar '(lambda (liel) (if (member(car liel) '(-1 8 10 11)) (list liel) ) ) (entget el) ) )) ) (bau_elemli ALISTE) ) ) (princ) );defun (defun bau_elemli (asatz / n elemli) (setq n 0) (repeat (sslength asatz) (setq elemli(cons (ssname asatz n) elemli) n (1+ n)) ) elemli ) (defun aust_el_k (data /) (entmake (list '(0 . "CIRCLE") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") (assoc 8 data) '(100 . "AcDbCircle") (assoc 10 data) (cons 40 (distance '(0.0 0.0 0.0) (cdr(assoc 11 data)))) '(210 0.0 0.0 1.0) ) ) (entdel (cdr(assoc -1 data))) ) Wenn Du mit der Implementierung nicht klar kommst, dann melde Dich einfach. Grüße Holger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GuG Mitglied
Beiträge: 333 Registriert: 07.02.2002 ACAD2002SP1 / W2kSP4 / P3-866 / HP DesignJet 1050c; - bei C_Dilla- od. Netzwerkproblemen Kuhlmann Zeichenbrett A0 :)
|
erstellt am: 21. Aug. 2002 09:09 <-- editieren / zitieren --> Unities abgeben:
Danke Roland, danke Holger, die Tools laufen hervorragend, ich habe beide ausprobiert. Mittlerweile sind habe ich fast alle betroffenen Zeichnungen damit bearbeitet. Vielen Dank nochmal ... Gruß Gunnar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TLieske Mitglied Bauingenieur
Beiträge: 247 Registriert: 12.07.2002 18xAutoCAD, SofiCAD, Vestra, AutoTURN, WinXP_Prof(SP3), PIV-3, 4GBRAM, 2xHP1050C, CARD1, Microstation, AutoVUE ...
|
erstellt am: 21. Aug. 2002 11:14 <-- editieren / zitieren --> Unities abgeben: Nur für GuG
Hallo, Schön zu sehen, daß es CAD-Freaks gibt, denen keine Aufgabe zu schwer erscheint. Ich wundere mich immer wieder, wie man so was so schnell programmieren kann. Ist aber wohl nur Übungssache. Und bei meinen paar Lisp's wäre diese Aufgabe erst in Morgen fertig gewesen. Aber man soll ja auch was im Büro arbeiten und nicht rumprogrammieren. Danke auch von meiner Seite an Roland und Holger, auch wenn mir das selbst nix bringt. ------------------ Thomas Lieske Schüßler-Plan Ing.-GmbH Frankfurt-Sachsenhausen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|