| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: (command _-revcloud) (531 / mal gelesen)
|
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 WIN 10 ACAD 2022
|
erstellt am: 21. Mrz. 2022 08:36 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich möchte Polylinien von Revisionswolken unterscheiden. Wenn ich die Wolken mit revcloud zeichne finde ich in den Elementdaten das hier: (-3 ("RevcloudProps" (1070 . 0) (1040 . 242.436))) Wäre ja gut ... aber zeichne ich die Wolken mit (command "_revcloud") ist der GC -3 gar nicht da. Für ein Unterscheidungskriterium ist das irgendwie blöd Auch die Optionen sind bei den beiden Versionen unterschiedlich. Wenn ich _revcloud verwende bekomme ich das hier in der Befehlszeile: Befehl: _REVCLOUD Minimale Bogenlänge: 161.6243 Maximale Bogenlänge: 323.2487 Stil: Kalligraphie Typ: Freihand Ersten Punkt angeben oder [Bogenlänge/Objekt/Rechteckig/Polygonal/Freihand/Stil/Ändern] <Objekt>: Wenn ich aber (command "_revcloud") verwende bekomme ich "nur" das hier: Befehl: (command "_revcloud") Minimale Bogenlänge: 200 Maximale Bogenlänge: 400 Stil: Kalligraphie Typ: Freihandnil Startpunkt angeben oder [Bogenlänge/Objekt/Stil] <Objekt>: Da ist ja wohl ein Unterschied. Wäre mir aber egal wenn der Unterschied nicht auch in den Objekten wäre. ACAD erkennt aber beide als Revisionswolken und das kann ja mit GC -3 nicht klappen. Ich hab jetzt alles dursucht was mir eingefallen ist aber das Richtige war noch nicht dabei. Wie kann ich, genau wie ACAD eine Revisionswolke ohne GC -3 erkennen ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 21. Mrz. 2022 09:25 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Kraus
Zitat: Original erstellt von Andreas Kraus: ACAD erkennt aber beide als Revisionswolken Nein, du irrst. ODer? Teste es noch einmal..Wie kann ich, genau wie ACAD eine Revisionswolke ohne GC -3 erkennen Gar nicht, es ist eine stinknormale Polylinie und sollte auch so angezeigt werden in den Eigenschaften. [/i]
Früher hast du mit dem Befehl einfach Polylinien erstellt,beim heutigen Befehl mit den erweiterten Daten wird das Objekt als Revisionswolke angezeigt. In Automatisierungen wird der alte Befehl aufgerufen, daher der Unterschied bei gleichem Befehlsnamen. Lese mal nach zu initcommandversion Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 WIN 10 ACAD 2022
|
erstellt am: 21. Mrz. 2022 09:59 <-- editieren / zitieren --> Unities abgeben:
Hm ... interessant aber hilft mir leider auch nicht weiter. Ich müsste rausbekommen wie ich bestehende Revisionswolken erkenne auch wenn der GC -3 nicht da ist. ACAD erkennt die ja auch, aber wie ? ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 21. Mrz. 2022 10:21 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Kraus
EDIT: Jetzt konnte ich die Daten reproduzieren, wenn ich Zeit habe (Krank und Arzttermine) schaue ich für dich nach - ist auch neu für mich >>"ACAD erkennt die ja auch," Eigentlich nicht - wie ich schon schrieb.
Also bitte: Neue Datei auf Basis der Acadiso.dwt, eine "Revisionswolke" erstellen wie du es geschrieben hast, speichern und mit uns teilen. Und bitte keine anderen Befehle/Funktionen außer deinem (command "_revcloud") und dem Speichern ausführen, so haben wir dann mal genau die Daten von denen du sprichst. (Vllt liegt es ja an meinem 2021 warum ich dir nicht folgen kann, aber 2022 habe ich aktuell nicht im Zugriff) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 21. Mrz. 2022 10:49 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Kraus
Zitat: Original erstellt von Andreas Kraus: Wie kann ich, genau wie ACAD eine Revisionswolke ohne GC -3 erkennen
In dem du, genau wie ACAD, eine Mustererkennung dafür programmierst! Also geschlossene Polylinie bestehend ausschließlich aus Bogensegmenten -links/rechts drehend? -Bogeneigenschaften? .. Das solltest du recht schnell durch try&error herausfinden können. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 WIN 10 ACAD 2022
|
erstellt am: 21. Mrz. 2022 11:00 <-- editieren / zitieren --> Unities abgeben:
Wär ich nie drauf gekommen dass die das so machen. Da kann ich lang nach Daten suchen. Naja, dann setz ich mich mal hin und bin mal ein wenig fleißig beim Tippen Danke für die Info ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 21. Mrz. 2022 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Kraus
|
Meldin Mitglied
Beiträge: 381 Registriert: 15.07.2011 ACA2020 Windows10
|
erstellt am: 22. Mrz. 2022 10:42 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Kraus
Ja schon witzig, den gc -3 habe ich irgendwie nicht hinbekommen aber egal. Acad weiß aber auch nicht was eine Reviwolke ist und was nicht. Ein Zusammenfügen von gleichen Bögen ist auch schon eine Reviwolke. Sollte hier mal ein Vorschlag kommen, werde ich hier auch mal meinen Test reinstellen. ------------------ Gruß Wolfgang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 WIN 10 ACAD 2022
|
erstellt am: 22. Mrz. 2022 12:58 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich hab hier mal was gemacht. Für meine Belange reicht das. Ich hab eine Objektliste (Objekte die umwolkt werden sollen) und sortiere die Revisionswolken raus, sonst hab ich ja eine Reviwolke um eine Reviwolke. Kriterium ist : LWPOLYLINE bestehend aus Bogensegmenten mit einer Ausbuchtung von +/-0.520567. ACAD hat zwar noch weitere Kriterien und erkennt auch noch andere Polylinien als Reviwolke aber das ist mir für heute mal wurscht. Code: (setq obj_list (vl-remove-if '(lambda (obj) (setq ent_data (entget (k_->ent_name obj))) (and (= (cdr (assoc 0 ent_data)) "LWPOLYLINE") (vl-every '(lambda (bulge) (equal (abs bulge) (tan (rad (/ 110.0 4.0))) 0.000001) ) (mapcar 'cdr (k_get_assoc ent_data 42)) ) ) ) obj_list ) )(defun k_get_assoc (liste gruppe) (if (/= (type gruppe) 'list) (setq gruppe (list gruppe)) ) (vl-remove-if-not '(lambda (data) (member (car data) gruppe)) liste ) ) (defun k_->ent_name (name) ;;; Elementname zurückgeben (cond ((= (type name) 'ENAME) name ) ((= (type name) 'VLA-OBJECT) (vlax-vla-object->ename name) ) ((= (type name) 'STR) (handent name) ) ((= (type name) 'LIST) (cdr (assoc -1 name)) ) ) ) (defun tan (z) (/ (sin z) (cos z)) ) (defun rad (z) (* (/ z 180.0) pi) )
------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meldin Mitglied
Beiträge: 381 Registriert: 15.07.2011 ACA2020 Windows10
|
erstellt am: 22. Mrz. 2022 13:15 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Kraus
Ich habs so zusammen geklöppelt. Code: (defun c:FindCloud (/ Mögliche-LWs Anz-Drehrichtung Anz-Punkte Anz-Drehrichtung-Winkel Winkel erster-Winkel ) (sssetfirst nil nil) (if (setq Mögliche-LWs (ssget "x" (list (cons 0 "LWPOLYLINE") (cons 410 (getvar "CTAB")) (cons -4 "/=") (cons 42 0) (cons -4 ">") (cons 90 4) ) ) ) (foreach teil (mapcar 'cadr (ssnamex Mögliche-LWs)) (setq Anz-Drehrichtung-Winkel (length (setq Winkel (vl-remove-if-not '(lambda (x) (and (eq (car x) 42) (not (eq (cdr x) 0)) ) ) (entget teil) ) ) ) ) (setq Anz-Punkte (length (vl-remove-if-not '(lambda (x) (eq (car x) 10)) (entget teil) ) ) ) (setq Winkel (mapcar 'cdr Winkel)) (setq erster-Winkel (car Winkel)) (while (equal erster-Winkel (car (setq Winkel (cdr Winkel))) 0.0000000000001 ) ) (if (not Winkel) (if (not (or (eq (1+ Anz-Drehrichtung-Winkel) Anz-Punkte) (eq Anz-Drehrichtung-Winkel Anz-Punkte) ) ) (ssdel teil Mögliche-LWs) ) (ssdel teil Mögliche-LWs) ) ) ) (sssetfirst nil Mögliche-LWs) (princ) )
------------------ Gruß Wolfgang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |