| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | Jetzt verfügbar: NVIDIA RTX PRO 6000 Blackwell Server Edition, eine Pressemitteilung
|
Autor
|
Thema: Parametertyp ermitteln (1551 mal gelesen)
|
Andreas Kraus Ehrenmitglied Elektrotechniker
    
 Beiträge: 1517 Registriert: 11.01.2006 WIN 11 ACAD 2022 BricsCAD V25.1.07
|
erstellt am: 03. Mrz. 2014 13:35 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, wie bekomme ich denn den Typ eines dynamischen Parameters mit LISP raus ? Ich möchte hier einen bestimmten Parametertyp nicht bearbeiten. ------------------ 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: 22675 Registriert: 03.06.2002 Alles
|
erstellt am: 03. Mrz. 2014 14:18 <-- editieren / zitieren --> Unities abgeben:          Nur für Andreas Kraus
|
Andreas Kraus Ehrenmitglied Elektrotechniker
    
 Beiträge: 1517 Registriert: 11.01.2006 WIN 11 ACAD 2022 BricsCAD V25.1.07
|
erstellt am: 03. Mrz. 2014 15:16 <-- editieren / zitieren --> Unities abgeben:         
Dann lese ich vielleicht an der falschen Stelle die Daten aus ? Also ich mach das hier:
Code: (vlax-safearray->list (vlax-variant-value (vla-getdynamicblockproperties obj_name ) ) )
obj_name ist der Objektname vom Block Z.B. mit (setq obj_name (vlax-ename->vla-object (car (entsel "Block wählen : ")))) Damit bekomme ich eine Liste: (#<VLA-OBJECT IAcadDynamicBlockReferenceProperty 00000000302ff308> #<VLA-OBJECT IAcadDynamicBlockReferenceProperty 000000003030f748> #<VLA-OBJECT IAcadDynamicBlockReferenceProperty 0000000030311b88> .......) Mit vlax-dump-object bekomme ich z.B. das hier: ; IAcadDynamicBlockReferenceProperty: AutoCAD dynamische Blockeigenschaften-Schnittstelle ; Eigenschaftswerte: ; AllowedValues (RO) = nil ; Description (RO) = "" ; PropertyName (RO) = "Origin" ; ReadOnly (RO) = -1 ; show (RO) = 0 ; UnitsType (RO) = 0 ; Value = (23.0 0.0) oder auch: ; IAcadDynamicBlockReferenceProperty: AutoCAD dynamische Blockeigenschaften-Schnittstelle ; Eigenschaftswerte: ; AllowedValues (RO) = ("1" "2" "3" "4" "5" "6" ... ) ; Description (RO) = "" ; PropertyName (RO) = "Sichtbarkeit1" ; ReadOnly (RO) = 0 ; show (RO) = -1 ; UnitsType (RO) = 0 ; Value = "1" ObjectName taucht da leider nicht auf. Was mach ich falsch ? ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4201 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 03. Mrz. 2014 17:39 <-- editieren / zitieren --> Unities abgeben:          Nur für Andreas Kraus
|
Andreas Kraus Ehrenmitglied Elektrotechniker
    
 Beiträge: 1517 Registriert: 11.01.2006 WIN 11 ACAD 2022 BricsCAD V25.1.07
|
erstellt am: 04. Mrz. 2014 08:00 <-- editieren / zitieren --> Unities abgeben:         
Ich brauch den Parametertyp um einen bestimmten Parametertyp nicht zu bearbeiten. Ich lese Daten aus und schicke die an Excel für z.B. Massenermittlung, Bautellisten, usw. Wenn ich jetzt im Excel etwas an den Daten ändere (Tippfehler, Änderungen, usw.) lese ich diese Daten zurück ins ACAD. Hat aber ein Block eine Blocktabelle wird mir alles was da dranhängt im jeweiligen Block so eingestellt ohne Rücksicht darauf ob gegenüber den Einstellungen der Blocktabelleneinträge etwas geändert wurde. Beispiel: Ich habe hier einen Block für Bodentanks mit Tabelleneinträgen für die verschiedenen Typen. Im Attribut für die Bezeichnung was das ist, wird auch schon der entsprechende Typ eingetragen. Wenn ich jetzt aber noch etwas an der Bezeichnung ändere (irgendeine Besonderheit, wurscht was das ist), wird das durch den Blocktabelleneintrag überschrieben wenn ein Tabelleneintrag durch den Wert in Excel gewählt wird. Damit ist die Zusatzinfo weg. Es kann ja auch mal sein dass die benötigten Werte noch nicht in der Blocktabelle sind, weil sich die Hersteller was neues ausgedacht haben. Dann muss ich die Parameter einzeln einstellen. Das ist dann aber auch weg. Deshalb brauche ich den Parametertyp um auf Blocktabellen reagieren zu können z.B. überspringen oder nachfragen oder irgendwas, ich muss noch ausprobieren was am Besten ist. Aber dazu brauch ich den Parametertyp.
------------------ 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: 22675 Registriert: 03.06.2002 Alles
|
erstellt am: 04. Mrz. 2014 08:34 <-- editieren / zitieren --> Unities abgeben:          Nur für Andreas Kraus
Sorry, durch ein paar Postings in den letzten Tagen "befand ich mich im Blockeditor" bei deiner Frage Das was du suchst steht in Dictionarys: (dictsearch(vlax-vla-object->ename (vla-getextensiondictionary MeinVlaBlockObj))"ACAD_ENHANCEDBLOCK") Bei den Einträgen mit dem gc360 befinden sich dann auch die "*PARAMETER", in diesen findest du dann die Parameternamen (die du bereits ermittelt hast) und anhand des Objekttyps siehst du hier dann um was für einen Parameter es sich handelt. Code:
.. (0 . "BLOCKROTATIONPARAMETER") .. (305 . "Pfeilrichtung") (306 . "Drehungswinkel des Symbols einstellen") ..
------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD [Diese Nachricht wurde von cadffm am 4. Mrz. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Andreas Kraus Ehrenmitglied Elektrotechniker
    
 Beiträge: 1517 Registriert: 11.01.2006 WIN 11 ACAD 2022 BricsCAD V25.1.07
|
erstellt am: 04. Mrz. 2014 10:51 <-- editieren / zitieren --> Unities abgeben:         
|