Autor
|
Thema: Mit Makro Ansicht erzeugen und darin Linie erzeugen (3575 mal gelesen)
|
bronnerc Mitglied Dipl.-Ing. (FH) Maschinenbau
Beiträge: 17 Registriert: 08.01.2008
|
erstellt am: 26. Mai. 2009 15:42 <-- editieren / zitieren --> Unities abgeben:
Hallo Programmiergemeinde. Hab mal wieder ein Problem. Möchte wie gesagt eine Ansicht und darin eine Linie mit einem Macro erzeugen. Aber Katja zeichnet die Linie nicht in die erstellte Ansicht. Wo liegt mein Fehler oder geht das gar nicht. Vielen Dank für schnelle Hilfe. Benutzter Code: Language="VBSCRIPT" Sub CATMain() Set drawingDocument1 = CATIA.ActiveDocument Dim drawingSheets1 As DrawingSheets Set drawingSheets1 = drawingDocument1.Sheets Dim MySheet As DrawingSheet Set MySheet = drawingSheets1.ActiveSheet Dim MyView As DrawingView Set MyView = MySheet.Views Set MyView = MySheet.Views.Add("XX") Dim double1 As Double double1 = MySheet.Scale MyView.Scale = 1.000000 Set MyView = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Item(1) Dim Fact2D As Object 'Factory2D Set Fact2D = MyView.Factory2D Dim Line1 As Object 'Line2D Set Line1 = Fact2D.CreateLine(10, 10, 287, 10) MyView.Activate End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
Beiträge: 4755 Registriert: 27.09.2000 Dell precision M4300, 4GB Arbeitsspeicher NVidia FX360M Windows XP professional SP3 CATIA V5 R16SP9, R17SP8, R18SP8, R19SP4 Adobe Acrobat 8 Linux: Ubuntu 8.04LTS
|
erstellt am: 26. Mai. 2009 16:36 <-- editieren / zitieren --> Unities abgeben: Nur für bronnerc
|
bronnerc Mitglied Dipl.-Ing. (FH) Maschinenbau
Beiträge: 17 Registriert: 08.01.2008
|
erstellt am: 27. Mai. 2009 08:10 <-- editieren / zitieren --> Unities abgeben:
|
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 27. Mai. 2009 08:25 <-- editieren / zitieren --> Unities abgeben: Nur für bronnerc
Hallo, du musst der Variable MyView die richtige View zuweisen. Du weißt ihr im Moment die MAIN VIEW zu. Du willst die Linie aber in deiner während der Laufzeit erstellen View haben. D.h du musst folgende Zeile ändern Code:
Set MyView = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Item(3)
bzw. wenn du dir View direkt mit dem Namen ansprechen willst dann Code:
Set MyView = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.GetItem("XX")
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bronnerc Mitglied Dipl.-Ing. (FH) Maschinenbau
Beiträge: 17 Registriert: 08.01.2008
|
erstellt am: 27. Mai. 2009 08:54 <-- editieren / zitieren --> Unities abgeben:
OK. Klar, logisch, jetzt wo*s da steht.. Allerdings gibt's jetzt hier noch ne Fehlermeldung: Set Fact2D = MyView.Factory2D ---- Ihr fehle das Objekt. ---- Allerdings hatte ich doch in der folgenden Zeile MyView die erstellte View ("XX") zugewiesen... Set MyView = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.GetItem("XX") ?????
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Leiter Elektrokonstruktion/Automatisierungstechnik (m/w/d) (Sonder-)Maschinenbau | HAPEKO ist die erste Adresse für Fach- und Führungskräfte in Deutschland. Schwerpunkt der Tätigkeit ist das Schaffen von Verbindungen zwischen Spezialisten und Führungskräften mit einem beruflichen Veränderungswunsch und passenden Unternehmen. HAPEKO ist deutschlandweit mit mehr als 20 Standorten vertreten. Unser Mandant, ein mittelständischer (Sonder-)Maschinenbauer, sucht im Rahmen einer altersbedingten Nachfolgeregelung Sie als Leiter Konstruktion (m/w/d).... | Anzeige ansehen | Leitung, Teamleitung |
|
MarkusK Mitglied
Beiträge: 130 Registriert: 09.08.2002 Dell Precision T5500 Intel Xenon X5560 4x 2,8 GHz 12 GB Ram NVIDIA Quadro FX 3800 Win XP Catia V5R19 SP3
|
erstellt am: 29. Mai. 2009 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für bronnerc
Hallo bronnerc, hier mal der Code wie er bei mir funktioniert. Catia R17 SP4 VBA Sub CATMain() Set drawingDocument1 = CATIA.ActiveDocument Dim drawingSheets1 As DrawingSheets Set drawingSheets1 = drawingDocument1.Sheets Dim MySheet As DrawingSheet Set MySheet = drawingSheets1.ActiveSheet Dim MyView As DrawingView Set MyView = MySheet.Views.Add("XX") MyView.Activate MyView.Scale2 = 1# Dim Line1 As Line2D Set Line1 = MyView.Factory2D.CreateLine(10, 10, 287, 10) End Sub Wenn du die neue View erstellst, hat die Variable "MyView" ja schon deine neue View. Du mußt also nicht noch mal dies zuweisen. Und dann muss die View erst aktiviert werden, bevor du eine Linie zeichnen kannst.
------------------ Gruss Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |