| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: DRSICHT (1306 mal gelesen)
|
bccad Mitglied
Beiträge: 57 Registriert: 02.11.2009
|
erstellt am: 21. Jun. 2018 10:14 <-- editieren / zitieren --> Unities abgeben:
Hallo, in meinem Programm gibt es einen Teil der nur richtig funktioniert wenn das Koordinatensystem auf Welt eingestellt ist. Also habe ich mir das aktuelle Koordinatensystem gemerkt, Welt eingestellt, mein Programm laufen lassen und zum Schluss wieder das akt. Koordinatensystem eingestellt. Das klappt auch sehr gut. Was manchmal stört ist das danach die Draufsicht auf Welt steht. Dann muss ich den Befehl "DRSICHT <aktuelles BKS> Enter" ausführen. Gibt es dafür einen entsprechenden Befehl im API ? Hab es mit
Code: doc.SendStringToExecute("._DRSICHT", True, False, False)
in allen Variationen ausprobiert, am Ende muss ich immer noch die Entertaste drücken. Mfg bccad Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 21. Jun. 2018 10:23 <-- editieren / zitieren --> Unities abgeben: Nur für bccad
|
cadffm Ehrenmitglied V.I.P. h.c. 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 21. Jun. 2018 11:36 <-- editieren / zitieren --> Unities abgeben: Nur für bccad
Nur für den Fall der Unwissenheit: Wenn das Programm wirklich nur das WKS benötigt(du nutzt also einen Autocad-Befehl oder bist zu Faul Koordinatenrückgaben von BKS zu WKS zu transformieren?) Dann hat DRSICHT hier nichts verloren, denn das ändert die Ansicht und nicht das Koordinatensystem!? Was auch immer du vorher machst und falls nur das WKS benötigt wird, setze das aktuelle BKS auf Welt und anschliessend zurück. In Autocad wäre es der Befehl BKS/_UCS. Mir ist nur der "Widerspruch" von BKS und DRSICHT aufgefallen, aber vermutlich brauchst du wirklich eine WKS-lotrechte Ansicht. (Dann wäre die Frage ob wirklich das BKS verstellt werden muss für dein Vorhaben ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bccad Mitglied
Beiträge: 57 Registriert: 02.11.2009
|
erstellt am: 22. Jun. 2018 14:10 <-- editieren / zitieren --> Unities abgeben:
Hallo cadffm, Es geht darum das die Zeichnung für den Anwender auf dem Bildschirm unverändert aussieht. Das klappt aber nicht wenn ein BKS gesetzt und die Ansicht auf dieses BKS gedreht war. Dann wird zwar das BKS wieder gesetzt aber die Ansicht nicht wieder original ausgerichtet. @Holger: doc.SendStringToExecute("._DRSICHT ", True, False, False) geht leider nicht, er wartet immer noch auf ein Enter (Bestätigung aktuelles BKS) Mfg bccad Code:
Dim ucs As Matrix3d = ed.CurrentUserCoordinateSystem ed.CurrentUserCoordinateSystem = Matrix3d.Identity' Hier wird etwas im WKS ausgeführt ed.CurrentUserCoordinateSystem = ucs doc.SendStringToExecute("_DRSICHT ", True, False, False)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 22. Jun. 2018 14:49 <-- editieren / zitieren --> Unities abgeben: Nur für bccad
Ich komme ja nicht aus der .net Ecke, aber sowohl deiner erster wie auch dein zweiter Versuch zum selben Ergebnis führt dann gibts da wohl eine ähnliche "unterdrücken" Funktion wie bei Menümacros. In dem Fall Versuche zwei Leerzeichen oder einen Zeilenumbruch(oder zwei) ("_DRSICHT ") ("_DRSICHT\n") am hübschesten wäre wenn der Syntax ("_DRSICHT\n\n") funktioniert, so sieht man jeder einzelne benötigte "enter"Anweisung eindeutig. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 22. Jun. 2018 14:53 <-- editieren / zitieren --> Unities abgeben: Nur für bccad
Warum funktioniet denn "_DRSICHT" überhaupt? Ist das ein .net Special? Immerhin gibt es diesen internationalen Befehl nicht! entweder "DRSICHT" oder "_PLAN", vorzugsweise mit Punkt für die Originaldefinition("_.PLAN\n_current\n")
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bccad Mitglied
Beiträge: 57 Registriert: 02.11.2009
|
erstellt am: 25. Jun. 2018 11:20 <-- editieren / zitieren --> Unities abgeben:
Nach dem ich wirklich alle Varianten durchprobiert hatte habe ich es mal so versucht: Code: doc.SendStringToExecute("DRSICHT" & vbCr & vbCr, True, False, False)
So funktioniert es. Trotzdem vielen Dank für eure Unterstützung. bccad Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |