| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für BricsCAD |
| |
| Digitalisierung bestehender Gebäude, eine Pressemitteilung
|
Autor
|
Thema: Falscher Abfragetext nach Attributwert (1102 / mal gelesen)
|
cm-Zeichner Mitglied Vermessungstechniker
Beiträge: 162 Registriert: 23.07.2009 Win10Pro 64Bit, Bricscad-Classic V23.1.05
|
erstellt am: 04. Dez. 2018 15:25 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, abe folgendes Problem in Bricscad Der Befehl zum Einfügen eines Blocks mit 1 Attribut wird wie folgt im LISP aufgerufen (bisher so in AutoCAD verwendet): (command "_.INSERT" "SYMBOL-UMFANG_BAUM" "2000,2000" "0.25" "" "138.5369") Jetzt bekomme ich aber am Bildschirm die Eingabeaufforderung: Drehwinkel für Block <0.0000g>: Nicht den Text der zur Attributeingabe auffordert (in dem Fall - Baumumfang: ) Der eingegeben Wert (beim Drehwinkel) wird jedoch für das Attribut übernommen und der Block richtig eingefügt. Folgendes hab ich schon probiert:
Sollte der Block mehrere Attribute besitzen wird nur beim ersten Attribut nach dem Drehwinkel gefragt, die anderen Attribute haben den richtigen Eingabetext. Die Zuordnung aller Attribute (auch der Wert der beim Drehwinkel eingegeben wird) stimmt jedoch. Wenn ich den Befehl ohne den Winkel aufrufe (command "_.INSERT" "SYMBOL-UMFANG_BAUM" "2000,2000" "0.25" "") Fragt er nach dem Drehwinkel für Block <0.0000g>: Wenn ich dort einen Wert für den Winkel eingebe kommt danach dann die richtige Anfrage nach dem Baumumfang: (in meinem Beispiel) Hier würde es also richtig ablaufen. Wieso bekomme ich hier den richtigen Text zur Attributabfrage beim ersten Beispiel aber nicht. ------------------ Grüße Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 04. Dez. 2018 16:36 <-- editieren / zitieren --> Unities abgeben: Nur für cm-Zeichner
Starte den Befehl -EINFÜGE in der Befehlszeile und schau was du da eigentlich machst und was das CAD-System von dir wissen will. Möglicherweise interessiert es den Befehl ob dein Block nur gleichmäßif skaliert werden darf, oder nicht. In dem Fall kann die Option 'skalieren' eine Lösung darstellen. In deinem Fall ist baer der Block von vornherein bekannt, also kannst du einfach die passenden Eingaben nachsehen und verwenden. Attribute: Ob Attribute abgefragt werden sollen bestimmt ATTREQ und ob die in Dialogfeld erfolgen soll ATTDIA. Wir kennen weder deine Blockdefinition, noch deine Systemeinstellung, hoffe es hilft dir dennoch. Und ob du wirklich 138.5369GRAD eingeben willst ist für mich auch noch fraglich. AUNITS Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cm-Zeichner Mitglied Vermessungstechniker
Beiträge: 162 Registriert: 23.07.2009 Win10Pro 64Bit, Bricscad-Classic V23.1.05
|
erstellt am: 05. Dez. 2018 09:04 <-- editieren / zitieren --> Unities abgeben:
Hallo Cadffm, hier die Beschreibung des Ablaufes mit dem Befehl Einfüge und einem Block (Beschriftung des Baumumfanges) mit 1 Attribut: - Befehl: -Einfüge - ?, um Blöcke in der Zeichnung aufzulisten/~ um den Explorer Dialog zu öffnen/<Einzufügender Block> <SYMBOL-UMFANG_BAUM>: SYMBOL-UMFANG_BAUM - Einfügepunkt für Block oder [Mehrere blöcke/Skalieren]: 100,100 - X Skalierungs Faktor oder [Ecke/Skalierung X Y Z] <1.000000>: 0.25 - Y-Skalierungsfaktor: <Gleich X-Skalierung (0.2500000)>: 0.25 - Drehwinkel für Block <0.0000g>: 10 jetzt kommt der richtige Abfragetext (Baumumfang) nach dem Attribut - Baumumfang: 0.70 Ergebnis: Der Block wird so wie gewünscht in die Zeichnung eingesetzt. Jetzt kommt´s aber, fasse ich das in ein LISP-Command zusammen spinnt er: Code: (command "EINFÜGE" "SYMBOL-UMFANG_BAUM" "100,100" "0.25" "0.25" "10")
erscheint jetzt jedoch nicht die Abfrage nach dem Baumumfang, sondern der Text: Drehwinkel für Block <0.0000g>: wenn ich hier einen Wert eingebe wird der als Attributwert genommen und der Block auch richtig eingefügt. Der Befehl läuft also richtig, nur die Aufforderung zur Eingabe des Attributes hat den falschen Text. Das passiert auch bei Blöcken mit mehreren Attributen - der erste Aufforderungstext ist falsch die anderen richtig. ATTREQ ist ein ATTDIA ist aus Blockdefinition sollte richtig sein, funktioniert ja bei der direkten Befehlseingabe Systemeinstellung was meinst Du damit? GRAD ist okay - Vermesser ------------------ Grüße Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cm-Zeichner Mitglied Vermessungstechniker
Beiträge: 162 Registriert: 23.07.2009 Win10Pro 64Bit, Bricscad-Classic V23.1.05
|
erstellt am: 05. Dez. 2018 10:13 <-- editieren / zitieren --> Unities abgeben:
Hab das jetzt im AutoCAD ausprobiert, selbe Befehlszeile eingegeben Code: (command "EINFÜGE" "SYMBOL-UMFANG_BAUM" "100,100" "0.25" "0.25" "10")
hier kommt der richtige Aufforderungstext. Kann das bitte auch wer probieren. ------------------ Grüße Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 05. Dez. 2018 10:13 <-- editieren / zitieren --> Unities abgeben: Nur für cm-Zeichner
ok ok , also du siehst eine falsche Rückgabe im Textfenster, die Funktion passt aber? Dann bin ich raus da es nur Kosmetik ist und Bricscad-spezifisch. Schreib dem Support falls es in der neuesten/aktuellen Version auftritt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 05. Dez. 2018 10:20 <-- editieren / zitieren --> Unities abgeben: Nur für cm-Zeichner
in der Tat ist die Meldung in der Befehlszeile in diesem Fall falsch. Nichts desto trotz werden die Eingaben erwartet, die für die Atributwerte vorgesehen sind. Will heißen: wenn da steht:# : (command "EINFÜGE" "SYMBOL-UMFANG_BAUM" "100,100" "0.25" "0.25" "10") : EINFÜGE ?, um Blöcke in der Zeichnung aufzulisten/~ um den Explorer Dialog zu öffnen/<Einzufügender Block> <SYMBOL-UMFANG_BAUM>: SYMBOL-UMFANG_BAUM Einheiten:Meter Konvertierung:1 Einfügepunkt für Block oder [Mehrere blöcke/Skalieren]:100,100 X Skalierungs Faktor oder [Ecke/skalierung X Y Z] <1.000000>:0.25 Y-Skalierungsfaktor: <Gleich X-Skalierung (0.250000)>: 0.25 Drehwinkel für Block <0>: 10 Eingabeaufforderung <Wert>: nil Drehwinkel für Block <0>:wird nun der Wert für das Attribut erwartet In der V19 ist das auch noch falsch. Ich mach mal einen Supportrequest
------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cm-Zeichner Mitglied Vermessungstechniker
Beiträge: 162 Registriert: 23.07.2009 Win10Pro 64Bit, Bricscad-Classic V23.1.05
|
erstellt am: 05. Dez. 2018 10:56 <-- editieren / zitieren --> Unities abgeben:
Ist dann wie cadffm richtig geschrieben hat: Zitat: also du siehst eine falsche Rückgabe im Textfenster, die Funktion passt aber? Dann bin ich raus da es nur Kosmetik ist und Bricscad-spezifisch.
Danke CADwiesel fürs ausprobieren und die Weiterleitung an den Support. Brauch jetzt nicht mehr länger nach irgendeinem Fehler bei mir suchen. Schönen Tag ------------------ Grüße Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cm-Zeichner Mitglied Vermessungstechniker
Beiträge: 162 Registriert: 23.07.2009 Win10Pro 64Bit, Bricscad-Classic V23.1.05
|
erstellt am: 05. Dez. 2018 13:20 <-- editieren / zitieren --> Unities abgeben:
Nächstes Problem mit dem Command Befehl - Fläche rechnen. Zeichne zuerst eine "Fläche" als geschlossene Polylinie, dann - Befehl: Fläche - Ersten Punkt wählen [Bereich eines Objektes suchen/Bereiche addieren/Bereiche Abziehen]: Objekt - Objekt zur Flächenberechnung wählen: _Last Ergebnis in meinem Fall: Fläche = 8425.905, Umfang = 387.495 also Okay Das selbe jetzt als Code
Code: (command "Fläche" "Objekt" "_Last")
Ergebnis in diesem Fall: Nil also ......... Kann das bitte auch wer probieren, sonst such ich wieder unnötig den ganzen Tag. DANKE, DANKE @CADwiesel bekommst Du eigentlich normalerweise ein Feedback vom BricsCAD-Support ------------------ Grüße Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 05. Dez. 2018 13:42 <-- editieren / zitieren --> Unities abgeben: Nur für cm-Zeichner
Die Lispfunktion command gibt nie etwas zurück, also immer nil. In AutoCAD würde der Befehl FLÄCHE jedoch sein Ergebnis in das Textfenster schreiben, vorausgesetzt man unterdrückt die Ausgabe in command-Ausdrücken nicht explizit über cmdecho=0. [Diese Nachricht wurde von cadffm am 05. Dez. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 05. Dez. 2018 14:28 <-- editieren / zitieren --> Unities abgeben: Nur für cm-Zeichner
cadffm hat da völlig Recht. nur nil gibt's bei cmdecho 0 zurück. Um an die Eigenschaft der Polylinie zu kommen ist es Möglich die Fläche des Objektes über (vla-get-area(vlax-ename->vla-object(entlast))) ausgeben zu lassen und Ja ich bekomme immer eine Rückmeldung vom Bricsys Support ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cm-Zeichner Mitglied Vermessungstechniker
Beiträge: 162 Registriert: 23.07.2009 Win10Pro 64Bit, Bricscad-Classic V23.1.05
|
erstellt am: 05. Dez. 2018 14:42 <-- editieren / zitieren --> Unities abgeben:
Leider ist es nicht ganz so einfach. BricsCAD dürfte auch hier einen kleinen Fehler haben, führe ich den Befehl nicht als command aus sondern "einzeln", so wie zuvor beschrieben, bekomme ich ja die Anzeige der Fläche - so wie auch in AutoCAD. Nur bei der Durchführung als Command simmt was nicht und da haut´s ihn auch aus dem LISP raus - welches in AutoCAD einwandfrei funktioniert. Wäre daher hilfreich ob es bei jemand anderen in BricsCAD genau so ist. ------------------ Grüße Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 05. Dez. 2018 15:39 <-- editieren / zitieren --> Unities abgeben: Nur für cm-Zeichner
Vielleicht gehst du auch einfach auf das genannte CMDECHO ein was wir dir vor die Füße gelegt haben, dann mußen wir (die ohne Probleme und Fragen in dem Moment) nicht für dich an den Rechner/die Software rennen um die Information zu bekommen. Also: Wird die Rückgabe vom Befehl FLÄCHE ins Textfenster geschrieben wenn CMDECHO=1 steht, oder nicht? Zumindest konnte ich dies deiner Antwort nicht entnehmen und extra dafür den Rechner anwerfen wollte ich dafür auch nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cm-Zeichner Mitglied Vermessungstechniker
Beiträge: 162 Registriert: 23.07.2009 Win10Pro 64Bit, Bricscad-Classic V23.1.05
|
erstellt am: 06. Dez. 2018 08:44 <-- editieren / zitieren --> Unities abgeben:
Guten morgen, sorry, das mit CMDECHO war wirklich die Lösung für dieses Problem. Der eigentliche Fehler in meinem LISP war leider eine Zeile vorher Hier hab ich die Zeile aus AutoCAD übernommen: Code: (command "_.BHATCH" "_P" "_SOLID" "_A" "_R" "_Y" "_I" "_NO" "_N" "_X" "")
In BricsCAD gehört aber: Code: (command "_.BHATCH" "_P" "_SOLID" "_A" "_R" "_Y" "_I" "_NO" "_N" "" "")
Die vorletzte Eingabe zum Verlassen des Dialoges ist in ACAD "_X", in BricsCAD "". Daher hat´s in aufgestellt. Danke für die Hilfe.
------------------ Grüße Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |