| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Diesel (1276 mal gelesen)
|
ryf Mitglied Architekt
Beiträge: 6 Registriert: 08.02.2005 AutoCAD LT ryfCAD Architektur-Applikation Dieselprogrammierung www.ryfCAD.ch
|
erstellt am: 08. Feb. 2005 16:57 <-- editieren / zitieren --> Unities abgeben:
Hallo, kann mir jemand sagen, wie lange ein Dieselmakro sein darf und wie die Anführungszeichen "" im Makro-String anzuwenden sind? ein Beispiel, das ich gefunden habe: *^C^Csetenv;links;\setenv;rechts;\setenv;oben;\setenv;unten;\setenv;Fronthöhe;$M=$(-,$(getenv,höhe),$(getenv,unten),$(getenv,oben));setenv;Fronthöhe;\setenv;FH;"$M=$(+,$(getenv,Fro nthöhe),$(getenv,oben))";-einfüge;$(getenv,Pfad_1)/FrontH.dwg;$(getenv,links),-$(getenv,oben);$(-,$(getenv,breite),$(getenv,links),$(getenv,rechts));-"""$M=$(getenv,Fronthöhe)""";; _ucs;_o;0,-"""""""$M=$(getenv,FH),0;setenv;höhe;$(-,$(getenv,höhe),$(getenv,FH))"""""""; wie sind die Anführungszeichen bei _ucs;_o;0,-"""""""" zu interpretieren? Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Grebe Mitglied
Beiträge: 536 Registriert: 16.12.2002
|
erstellt am: 08. Feb. 2005 18:16 <-- editieren / zitieren --> Unities abgeben: Nur für ryf
Zur genauen Länge kann ich dir jetzt ad hoc nix sagen. Die " bewirken eine verzögerte Auswertung der darin enthaltenen Ausdrücke. Da am Anfang mittels '\setenv;Fronthöhe;$M=$(-,$(getenv,höhe)' der Wert für Fronthöhe gesetzte wird und der Dieselausdruck ab dem $M= bis zum Ende ausgewertet wird, würde hier setenv;FH;"$M=$(+,$(getenv,Fronthöhe), ohne das " der vorhergehende Wert von Fronthöhe zurückgeliefert. Entsprechende tiefere Verschachtelungen müssen dann durch mehrere " angegeben werden. Die Anführungszeichen bei """$M=$(getenv,Fronthöhe)""" sowie das darin enthaltene $M= sind m.E. unnötig, da ja schon hier "$M=$(+,$(getenv,Fronthöhe),$(getenv,oben))" eine entsprechende Auswerteverzögerung vorliegt. Man müsste diesen Part dann so umstricken können: setenv;FH;"$M=$(+,$(getenv,Fronthöhe),$(getenv,oben));-einfüge;$(getenv,Pfad_1)/FrontH.dwg;$(getenv,links),-$(getenv,oben);$(-,$(getenv,breite),$(getenv,links),$(getenv,rechts));-$ (getenv,Fronthöhe)" Der Schluß müsste dann so lauten können: _ucs;_o;0,-"""$M=$(getenv,FH),0;setenv;höhe;$(-,$(getenv,höhe),$(getenv,FH))"""; Hier reichen dann 3 ", da ja die ersten 3" wegoptimiert sind. Generell muss hier jedoch eine Auswerteverzögerung eingebaut sein, da FH ja erst innerhalb des 1." ausgewertet wurde. Hoffe, dass das jetzt in etwa verständlich war. Habe mich da am Anfang auch recht schwer mit getan. Das ganze waren jetzt nur theoretische Überlegungen - ausprobiert habe ich's nicht. Sollte es so modifiziert nicht laufen - melde dich. Mathias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ryf Mitglied Architekt
Beiträge: 6 Registriert: 08.02.2005 AutoCAD LT ryfCAD Architektur-Applikation Dieselprogrammierung www.ryfCAD.ch
|
erstellt am: 08. Feb. 2005 20:19 <-- editieren / zitieren --> Unities abgeben:
Danke, das hat mir jetzt vieles klarer gemacht. Ich habe eine ganze Architekturapplikation mittels Diesel programmiert. (www.ryfcad.ch) Dabei habe ich oft das Problem gehabt, dass Werte die berechnet werden mussten erst in einem zweiten Schritt für die weitere Automatisation verfügbar waren. Dies habe ich mittels einer POP0 Einblendung realisiert, indem entweder eine weitere Detailinformation angegeben werden musste (beispielsweise eine Benutzerangabe über einflüglige oder zweiflüglige Türen) oder dümmer, einfach OK geklickt werden musste. Dabei habe ich den Wert im Hintergrund weiter gegeben. Diese neue Erkenntnis wird mir zwar nicht viel helfen, da die Dieselstrings einer maximale Zeichenbegrenzung inkl. berechnete Werte oder dümmer Laufwerkspfade unterliegen. Aber die "" haben mir bereits bei der Layersteuerung über die Objektwahl sehr geholfen. Noch was zum Thema: OK kann im POP-Menü mittels der Leerschlagtaste ausgelöst werden: ID_RYF001 [OK& (Leerschlag)]^C^C^P_modemacro;*** Weiteren auszuschaltenden Layer klicken ***;+ _ai_molc;\_setenv;layeroff;$M=$(getvar,clayer);_u;;_expert;1;"_-layer;_off;$M=$(getenv,layeroff)";;_expert;0;$P0=* Kennt jemand einen Trick, wie OK mittels Return quittiert werden kann? Danke [Diese Nachricht wurde von ryf am 09. Feb. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|