| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Ansichtsfenster im Modellbereich vertikal teilen (7412 mal gelesen)
|
GJ-Werner Mitglied Vermessungsingenieur

 Beiträge: 21 Registriert: 08.10.2002 AutoCADMap3D 2011 Windows XP
|
erstellt am: 27. Jan. 2010 11:01 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe schon im FOrum gesucht; bin aber leider nicht fündig geworden. Ich möchte den Modellbereich vertikal in zwei Ansichtsfenster teilen. Normalerweise geht das mit AutoCad ganz einfach über Ansicht-> Ansichtsfenster->2Ansichtsfenster Das kann ich auch mit ThisDrawing.SendCommand ("_vports" & vbCr & "2" & vbCr & "v" & vbCr) hinbasteln. Zusätzlich möchte ich dann in jeder der Ansichten ein anderes BKS aktuell setzen. Wie kann ich die Ansichtsfenster so erstellen und benenn, das ich sie später aktiv setzen kann? Über Tips wäre ich sehr froh. Viele Grüße GJ-Werner ------------------ D. Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 27. Jan. 2010 12:01 <-- editieren / zitieren -->
Hi, >> Wie kann ich die Ansichtsfenster so erstellen und benenn, das ich sie später aktiv setzen kann? Benennen kannst Du sie in keinem Fall, mir würde leider auch nicht einfallen, wie Du programmtechnisch von einem Ansichtsfenster in das andere schaltest. Alternative hätte ich aber schon (weil ich mir angewöhnt habe, so zu arbeiten): Mach Dir ein Layout und erstelle dort Ansichtsfenster. Da hast Du mal den Vorteil, dass Du diese schnell erzeugen kannst, selbst definierte Größen machen kannst (und nicht nur die vorgefertigten Varianten oder immer teilen-zusammenfügen um eine bestimmte Anordnung zu bekommen). HTH, - alfred - ------------------ www.hollaus.at |
GJ-Werner Mitglied Vermessungsingenieur

 Beiträge: 21 Registriert: 08.10.2002 AutoCADMap3D 2011 Windows XP
|
erstellt am: 27. Jan. 2010 12:13 <-- editieren / zitieren --> Unities abgeben:         
hi alfred, das mit dem Layout wird leider nicht gehen, da ich in den Ansichtsfenstern im Modell weiterarbeiten möchte, zumindest wüsste ich nicht wie.... Ich brauche quasi ein Fenster mit der Draufsicht und ein Fenster mit einer Seitenansicht im Modell. Im Autocad kann man die ganz einfach erstellen, darin arbeiten,und durch reinklicken aktivieren. Ich habe in meinem Programm verschiedene BKS erstellt und möchte dem User nach Programmablauf diese beiden Ansichten als Start zur weiteren Bearbeitung anzeigen. In einem Buch habe ich etwas gefunden... Viewports(ActiveViewport.Name).Split acViewport2Horizontal ActiveViewport=Viewports("Viewport1") Ich versuche mal damit etwas hinzubekommen. Viele Grüße GJ-Werner
------------------ D. Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GJ-Werner Mitglied Vermessungsingenieur

 Beiträge: 21 Registriert: 08.10.2002 AutoCADMap3D 2011 Windows XP
|
erstellt am: 27. Jan. 2010 12:25 <-- editieren / zitieren --> Unities abgeben:         
Hi, habe noch etwas gefunden Dim Object As AcadViewport Set Object = ThisDrawing.Viewports.Add("benutzeransicht") Object.Split acViewport2Vertical ThisDrawing.ActiveViewport = Object damit wird der Modellbereich schonmal geteilt. Jetzt müssen die Teilbereiche "nur noch" angesprochen werden können, um je ein BKS aktuell zu setzen. Hat dazu jemand vielleicht eine Idee? Viele Grüße GJ-Werner ------------------ D. Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神

 Beiträge: 22477 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 27. Jan. 2010 12:27 <-- editieren / zitieren --> Unities abgeben:          Nur für GJ-Werner
|
GJ-Werner Mitglied Vermessungsingenieur

 Beiträge: 21 Registriert: 08.10.2002 AutoCADMap3D 2011 Windows XP
|
erstellt am: 27. Jan. 2010 13:26 <-- editieren / zitieren --> Unities abgeben:         
|
cadffm Ehrenmitglied V.I.P. h.c. 良い精神

 Beiträge: 22477 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 27. Jan. 2010 13:33 <-- editieren / zitieren --> Unities abgeben:          Nur für GJ-Werner
|
GJ-Werner Mitglied Vermessungsingenieur

 Beiträge: 21 Registriert: 08.10.2002 AutoCADMap3D 2011 Windows XP
|
erstellt am: 27. Jan. 2010 13:40 <-- editieren / zitieren --> Unities abgeben:         
|
GJ-Werner Mitglied Vermessungsingenieur

 Beiträge: 21 Registriert: 08.10.2002 AutoCADMap3D 2011 Windows XP
|
erstellt am: 28. Jan. 2010 08:07 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe nun folgenden Code erstellt, um das Modellfenster zu teilen und in den einzeln Fenstern jeweils ein BKS zu aktivieren. Beim Durchlauf werden die Seiten rechts und links erkannt (Msgbox erscheint). Dann wird rechts die richtige Ansicht kurz dargestellt, dann wird nach links gewechselt, auch hier wird die richtige Ansicht kurz dargestellt. Nach Beenden des Programms bleibt nur links die richtige Ansicht stehen. Warum??? Sieht jemand im Code meinen Denkfehler??? Viele Grüße GJ-Werner '---- der Modellbereich wird zur weiteren Bearbeitung in zwei vertikale Ansichtsfenster geteilt ---- ' ---- Erstellen und Aktivieren eines neuen Ansichtsfensters ---- Dim vportObj As AcadViewport ThisDrawing.Viewports.DeleteConfiguration ("benutzeransicht") Set vportObj = ThisDrawing.Viewports.Add("benutzeransicht") ThisDrawing.ActiveViewport = vportObj ' vport in 2 Fenster teilen vportObj.Split acViewport2Vertical ' ---- Durchlaufen der Ansichtsfenster,Hervorheben jedes Ansichtsfensters und Anzeigen ---- ' ---- der rechten oberen und linken unteren Ecke jedes Fensters Dim LLCorner As Variant 'untenLinks Dim URCorner As Variant 'obenrechts For Each vportObj In ThisDrawing.Viewports ThisDrawing.ActiveViewport = vportObj LLCorner = vportObj.LowerLeftCorner URCorner = vportObj.UpperRightCorner 'MsgBox (LLCorner(0) & " und " & LLCorner(1)) 'MsgBox (URCorner(0) & " und " & URCorner(1)) '-- bei Zweiteilung vertikal RECHTS LL Corner (0.5,0) UR Corner (1,1) '-- bei Zweiteilung vertikal LINKS LL Corner (0,0) UR Corner (0.5,1) If vportObj.Name = "benutzeransicht" Then If LLCorner(0) = 0.5 And LLCorner(1) = 0 And URCorner(0) = 1 And URCorner(1) = 1 Then MsgBox ("rechts") ThisDrawing.SendCommand ("zo" & vbCr & "g" & vbCr) ThisDrawing.ActiveUCS = ThisDrawing.UserCoordinateSystems(bksstation) ThisDrawing.SendCommand ("drsicht a ") MsgBox ("ansicht erstellt") End If If LLCorner(0) = 0 And LLCorner(1) = 0 And URCorner(0) = 0.5 And URCorner(1) = 1 Then MsgBox ("links") ThisDrawing.SendCommand ("zo" & vbCr & "g" & vbCr) ThisDrawing.ActiveUCS = ThisDrawing.UserCoordinateSystems(bksachsenebene) ThisDrawing.SendCommand ("drsicht a ") MsgBox ("ansicht erstellt") End If End If Next vportObj MsgBox ("fertig zur weiteren Bearbeitung")
------------------ D. Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Ehrenmitglied V.I.P. h.c. 良い精神

 Beiträge: 22477 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 28. Jan. 2010 08:11 <-- editieren / zitieren --> Unities abgeben:          Nur für GJ-Werner
|
GJ-Werner Mitglied Vermessungsingenieur

 Beiträge: 21 Registriert: 08.10.2002 AutoCADMap3D 2011 Windows XP
|
erstellt am: 28. Jan. 2010 08:53 <-- editieren / zitieren --> Unities abgeben:         
Habe mal nach UCSFollow geschaut Systemvariable, in der Hilfe steht dazu 0 = das BKS wirkt sich nicht auf die Ansicht aus 1 = Jeder Wechsel des BKS bedingt einen Wechsel zur Draufsicht für das neue BKS im aktuellen Ansichtsfenster
Die Systemvariable ist im ganzen Durchlauf auf 0. Die Draufsicht vom aktuell gesetzten BKS erzeuge ich ja mit ThisDrawing.SendCommand ("drsicht a "). Ich wüsste nicht, wo ich die Systemvariable ändern soll. Vielleicht stehe ich einfach gerade auf dem Schlauch??? ------------------ D. Werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |