| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: $(++) und was nun?? (1259 mal gelesen)
|
Andreas_Felix Mitglied
Beiträge: 18 Registriert: 19.05.2003
|
erstellt am: 02. Jun. 2003 22:20 <-- editieren / zitieren --> Unities abgeben:
hallo leute! ihr seit mal wieder meine letzte rettung!! ich bastle jetzt schon fast ewig an einem makro: *^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))"""""""; mittlerweile funktioniert das ganze in etwa so: in ein beliebig großes rechteck (möbelkorpus) werden nach abzug der luft belibig viele rechtecke (block 1x1 einheiten; fronten)untereinander eingefügt. wobei immer die gesamthöhe minus luft oben und unten vorgeschlagen wird! leider funktioniert es nur so lange ich keine komastellen verwende! verwende ich in irgenteiner umgebungsvariable einen wert mit komastelle folgt ein abbruch mit der meldung: $(++) = die ausgabezeichenfolge ist zu lang und wurde gekürzt welche lösungsmöglichkeiten giebt`s??? ach ja: nach teilen des makros in zwei teil (bei -einfüge) und anpassen der "quotes" funktioniert's immer!! ich hoffe ihr findet den fehler, habt lösungsvorschläge oder wenigstens eine erklärung wieso's so nie was werden wird grüße andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Grebe Mitglied
Beiträge: 536 Registriert: 16.12.2002 LT-2021, Civil3D-2021, BricsCAD V18 HP-DesignJet T1200
|
erstellt am: 03. Jun. 2003 09:06 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas_Felix
Habe schon ähnliche Erfahrungen gemacht: Makro klappt z.B. im Bereich des Koordinatenursprungs einwandfrei - mit Gauss-Krüger-Koordinaten klappts nicht mehr. Außerdem gibt es eine gewisse Maximallänge für Makros - vielleicht hängts damit zusammen. Könnte ja sein, dass beim Auswerten die Zahlen als ASCII-Werte (und nicht durch den Wert an sich) repräsentiert werden und es somit zu einer Längenüberschreitung kommt. Wenn's in 2 Teilen klappt - sei froh. Mathias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian Marx Mitglied
Beiträge: 218 Registriert: 11.12.2002 AutoCad LT 200x Athon 1600XP GeForce II MX400 256 DDR RAM 60GB Drive 16xDVD Aopen 24/10/40 Brenner TV-Karte WinTV PVR 250
|
erstellt am: 12. Jun. 2003 12:25 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas_Felix
|
Grebe Mitglied
Beiträge: 536 Registriert: 16.12.2002
|
erstellt am: 12. Jun. 2003 12:37 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas_Felix
|
Zeli Mitglied
Beiträge: 129 Registriert: 04.04.2003 Win 10 ACAD 2018 Eigene Tools
|
erstellt am: 12. Jun. 2003 20:11 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas_Felix
|
Christian Marx Mitglied
Beiträge: 218 Registriert: 11.12.2002 AutoCad LT 200x Athon 1600XP GeForce II MX400 256 DDR RAM 60GB Drive 16xDVD Aopen 24/10/40 Brenner TV-Karte WinTV PVR 250
|
erstellt am: 12. Jun. 2003 21:17 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas_Felix
|
Zeli Mitglied
Beiträge: 129 Registriert: 04.04.2003
|
erstellt am: 13. Jun. 2003 09:38 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas_Felix
|
Christian Marx Mitglied
Beiträge: 218 Registriert: 11.12.2002 AutoCad LT 200x Athon 1600XP GeForce II MX400 256 DDR RAM 60GB Drive 16xDVD Aopen 24/10/40 Brenner TV-Karte WinTV PVR 250
|
erstellt am: 13. Jun. 2003 10:11 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas_Felix
|
Grebe Mitglied
Beiträge: 536 Registriert: 16.12.2002
|
erstellt am: 13. Jun. 2003 11:49 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas_Felix
|
Christian Marx Mitglied
Beiträge: 218 Registriert: 11.12.2002 AutoCad LT 200x Athon 1600XP GeForce II MX400 256 DDR RAM 60GB Drive 16xDVD Aopen 24/10/40 Brenner TV-Karte WinTV PVR 250
|
erstellt am: 13. Jun. 2003 20:56 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas_Felix
beim längenproblem eigentlich viel, denn man benötigt die ganzen """"""" nicht, die ja ebenfalls bandbreite kosten. und man steigert die betriebsicherheit, wenn man z.b. eine zahl abfragen möchte, dann verweigert useri und userr die eingabe von buchstaben. wie ich aber oben schon geschrieben habe, alle pfade in die support-ebene verlegen, dann bleibt mehr platz für anders. wahrscheinlich funzt dann das makro einwandfrei.
------------------ www.marx-softwaredevelop.de/ MarxCiCAD Architektur-/Schalungsmodul für AutoCad 2000 - 2002 [Diese Nachricht wurde von Christian Marx am 13. Juni 2003 editiert.] [Diese Nachricht wurde von Christian Marx am 13. Juni 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas_Felix Mitglied
Beiträge: 18 Registriert: 19.05.2003
|
erstellt am: 15. Jun. 2003 16:07 <-- editieren / zitieren --> Unities abgeben:
hallo! überrascht über so viel spätes interesse (sommerpause?!?) gebe ich bekannt: ich hab`s geschafft!!!! also nach einer kräftigen überarbeitung (unnötige """"" rausgeworfen, die unsinnige variable fh aufgegeben, umbenennen der variable fronthöhe in fh, neuordnung des restes.....)funktioniert das ganze einwandfrei. genauergesagt sind bei allen variablen werte mit einer komastelle möglich. (ist für einen tischler eh schon viel zu genau!!!!) also das macro lautet jetzt: *^C^Csetenv;links;\setenv;rechts;\setenv;oben;\setenv;unten;\setenv;F;$M=$(-,$(getenv,höhe),$(getenv,unten),$(getenv,oben));setenv;F;\-einfüge;"$M=$(if,$(<,$(getenv,F),200),fron tH1,frontH)";$(getenv,links)","-$(getenv,oben);$(-,$(getenv,breite),$(getenv,links),$(getenv,rechts));-"""$M=$(getenv,F);;_ucs;_o;0","-$(+,$(getenv,F),$(getenv,oben))","0;setenv;hö he;$(-,$(getenv,höhe),$(getenv,F),$(getenv,oben))"""; es ist sich sogar noch ein "if" teil ausgegangen welcher das einfügen verschiedener blöcke je nach FH ermöglicht @christian wie du siehst habe ich deinen tip mit dem supportverzeichnissen schon berücksichtigt! danke nochmal das mit user1... usw finde ich nicht so gut, denn durch die vergabe von bezeichnungen wie oben, unten etc ergibt sich fast so etwas wie eine rückmeldung von acad (zumindest wenn eine zeile über der befehlszeile sichtbar ist) übrigens, die variable höhe und breite nehme ich mit diesem macro ab: ^C^C_ucs;_o;\^C^C_dist;0,0;\_setenv;Breite;$M=$(/,$(fix,$(*,$(getvar,Distance),10)),10);_dist;0,0;\_setenv;Höhe;"$M=$(/,$(fix,$(*,$(getvar, Distance),10)),10)" (rundet bei ungenauem zeichen gleich auf eine komastelle!!!) alles zusammen ergibt es eine relativ schnelle lösung zum zeichnen von möbel in der ansicht vielleicht kann das ganze jemand zum weiterbasteln oder so gebrauchen!! grüße aus dem sonnigen innviertel sendet andreas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian Marx Mitglied
Beiträge: 218 Registriert: 11.12.2002 AutoCad LT 200x Athon 1600XP GeForce II MX400 256 DDR RAM 60GB Drive 16xDVD Aopen 24/10/40 Brenner TV-Karte WinTV PVR 250
|
erstellt am: 15. Jun. 2003 23:07 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas_Felix
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|