Hot News:

Unser Angebot:

  Foren auf CAD.de
  MicroStation
  DGNLIB Toolbox

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
TRICAD MS Piping 3D - Effizient Apparate- und Rohrleitungsmodelle planen , eine App
Autor Thema:  DGNLIB Toolbox (2486 mal gelesen)
B44
Mitglied



Sehen Sie sich das Profil von B44 an!   Senden Sie eine Private Message an B44  Schreiben Sie einen Gästebucheintrag für B44

Beiträge: 26
Registriert: 13.09.2008

Windows XP
MicroStation 8.09.04.88 de
MS-Office 2007 de

erstellt am: 15. Mrz. 2009 18:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich möchte bei benutzerdefinierten Funktionen unter Befehlsdaten Eingabe einen Befehl wie z. B. „set fill on“ anwenden. Damit dieser in allen Fenstern das Ansichtsattribut Ausfüllen automatisch einschaltet.

Gruß B44

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

stark
Mitglied
Dipl.Informatiker


Sehen Sie sich das Profil von stark an!   Senden Sie eine Private Message an stark  Schreiben Sie einen Gästebucheintrag für stark

Beiträge: 680
Registriert: 27.06.2001

MicroStation V8i auf Windows 7 + 8.1

erstellt am: 16. Mrz. 2009 14:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für B44 10 Unities + Antwort hilfreich

Dann mach das doch 

Im Ernst:

1. Eine Aussage zu formulieren ist nicht besonders geschickt, wenn man eine Frage beantwortet haben möchte. Wo liegt also das Problem, was hindert Dich daran zu tun , was Du willst ?

2. vom fachlichen Standpunkt aus, gehe ich anhand Deiner Aussage davon aus, das Du eine DGNLib geöffent hast, das Du eine Toolbox angelegt hast, und jetzt wissen möchtest, wie Du dem Befehl 'set fill on' die Ansichten übergeben kannst. Das geht, indem Du 'selview [viewnummer]' als nächstes Kommando absetzt, Kommandos werden mit ; abgetrennt, also 'set fill on;selview 1;selview 2;...'. Anzumerken bleibt nur, das der Modus danach in der Ansichtsauswahl 'hängen' bleibt, hier hilft nur zum Abschluss ein entsprechendes anderes Kommando, wie z.B. 'select' anzustarten.

HTHHope this helps (Hoffe, es hilft weiter) Michael

------------------
Wer's nur glaubt, weiß es nicht !

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

B44
Mitglied



Sehen Sie sich das Profil von B44 an!   Senden Sie eine Private Message an B44  Schreiben Sie einen Gästebucheintrag für B44

Beiträge: 26
Registriert: 13.09.2008

Windows XP
MicroStation 8.09.04.88 de
MS-Office 2007 de

erstellt am: 23. Mrz. 2009 14:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Michael,

besten Dank für deine Hilfe, es funktioniert perfekt. Schade das kein Befehl wie z. B. „selview all“ zur Verfügung steht, somit wurde der Syntax etwas länger.

Bei meinem Beitrag habe ich meinen Gedankengang niedergeschrieben, aber übersehen meine Frage zu stellen. Man(n/Frau) möge es mir verzeihen! Meine Gedanken waren schon im Kurzurlaub. Aber Du hast ja richtig erkannt, wo mein Problem lag.

Ursprünglich wollte ich die Einstellung der Ansichtsattribute mit einem aufgezeichneten Makro vornehmen und mit dem Befehl „vba run AutoAusfuellen“ in meiner Toolbox starten. Es werden zwar mit meinem Makro die entsprechenden Häkchen gesetzt, aber keine Ansichtsaktualisierung vorgenommen, wie wenn das Häkchen manuell in Ansichtsattribute Ausfüllen gesetzt wird.

    AutoAusfuellen.mvba
    Sub AutoAusfuellen()
        Dim startPoint As Point3d
        Dim point As Point3d, point2 As Point3d
        Dim lngTemp As Long

    '  Eine mit einem Dialogfeld verbundenen Variable einstellen
        SetCExpressionValue "msDialogState.viewSettingsP->applyToAll", -1, "MGDSHOOK"
   
        SetCExpressionValue "msDialogState.viewSettingsP->flags.fill", 1, "MGDSHOOK"
   
        CommandState.StartDefaultCommand
    End Sub

Mein Wissen reicht nicht, um hier einen Fehler zu erkennen. Kannst Du mir weiterhelfen?

Gruß B44

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

stark
Mitglied
Dipl.Informatiker


Sehen Sie sich das Profil von stark an!   Senden Sie eine Private Message an stark  Schreiben Sie einen Gästebucheintrag für stark

Beiträge: 680
Registriert: 27.06.2001

MicroStation V8i auf Windows 7 + 8.1

erstellt am: 24. Mrz. 2009 22:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für B44 10 Unities + Antwort hilfreich

Einfachste Methode, nachdem Du vermutlich auch schon das Makro aufgezeichnet hast: einfach mal auf Ansicht aktualisieren drücken. Dabei kommt dann 'CadInputQueue.SendCommand "UPDATE VIEW EXTENDED 1"' raus. Nun bin ich kein MVBA Spezialist, aber entweder aus der 1 ein all machen, oder direkt auf 'CadInputQueue.SendCommand "UPDATE ALL"' ausweichen, eines von beiden sollte es tun (sonst wieder von 1-8  zumindest im MDL gibt es definitiv kein ALL).

HTHHope this helps (Hoffe, es hilft weiter) Michael

------------------
Wer's nur glaubt, weiß es nicht !
Rechtschreibfehler gibt's gratis 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

B44
Mitglied



Sehen Sie sich das Profil von B44 an!   Senden Sie eine Private Message an B44  Schreiben Sie einen Gästebucheintrag für B44

Beiträge: 26
Registriert: 13.09.2008

Windows XP
MicroStation 8.09.04.88 de
MS-Office 2007 de

erstellt am: 27. Mrz. 2009 09:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Michael für deine Anregungen. Ich habe einige Möglichkeiten probiert, mein zuvor genanntes Beispiel funktioniert mit dem Zusatz: CadInputQueue.SendCommand "view previous 1" usw. 
Gruß B44

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

stark
Mitglied
Dipl.Informatiker


Sehen Sie sich das Profil von stark an!   Senden Sie eine Private Message an stark  Schreiben Sie einen Gästebucheintrag für stark

Beiträge: 680
Registriert: 27.06.2001

MicroStation V8i auf Windows 7 + 8.1

erstellt am: 27. Mrz. 2009 12:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für B44 10 Unities + Antwort hilfreich

Allerdings nur, wenn Du das direct beim Öffnen der Zeichnug machst. Sbold nämlich der View verändert wurde bewirkt 'view previous' den Rücksprung zum vorherigen Ausschnitt (entspricht praktisch dem Rückwärts-Button jeder Ansicht.

------------------
Wer's nur glaubt, weiß es nicht !
Rechtschreibfehler gibt's gratis 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

B44
Mitglied



Sehen Sie sich das Profil von B44 an!   Senden Sie eine Private Message an B44  Schreiben Sie einen Gästebucheintrag für B44

Beiträge: 26
Registriert: 13.09.2008

Windows XP
MicroStation 8.09.04.88 de
MS-Office 2007 de

erstellt am: 28. Mrz. 2009 16:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Uuuppps! Es hatte zwar immer gepasst, muss aber jedes Mal reiner Zufall gewesen sein. Irgendwann wäre es in die Hosen gegangen. Michael danke für deinen Hinweis.
Habe es nun wie folgt zu lösen versucht.

Sub AutoAusfuellen()
    Dim startPoint As Point3d
    Dim point As Point3d, point2 As Point3d
    Dim lngTemp As Long

    CadInputQueue.SendKeyin "set fill on"

    CadInputQueue.SendKeyin "selview 1"
    CadInputQueue.SendKeyin "selview 2"
    CadInputQueue.SendKeyin "selview 3"
    CadInputQueue.SendKeyin "selview 4"
    CadInputQueue.SendKeyin "selview 5"
    CadInputQueue.SendKeyin "selview 6"
    CadInputQueue.SendKeyin "selview 7"
    CadInputQueue.SendKeyin "selview 8"

    CadInputQueue.SendKeyin "update all"

    CommandState.StartDefaultCommand
End Sub

Gruß B44

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz