Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  2D-Komponente erstellen

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
Autor Thema:  2D-Komponente erstellen (5139 mal gelesen)
Erich
Mitglied
Senior Consultant selbstständig


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

Beiträge: 198
Registriert: 03.10.2000

i7-9850H
RAM 32,0 GB
Nvidia Quadro T2000
Windows 7 Professional 64Bit

erstellt am: 24. Nov. 2012 18:02    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
mein Ziel ist eine Tabelle in einer 2D-Komponente(Zeichnung) zu erzeugen und diese dann zu Instantinieren.
Mein Problem ist die 2D-Komponente zu erzeugen.
D.h. die Tabelle habe ich schon erzeugt, aber diese müsste in der 2D-Komponente eingebaut sein.
Ich bräuchte hierzu den nötigen Anschubs - Script.
Danke im Vorraus

------------------
mfg
Erich

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 24. Nov. 2012 23:25    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 Erich 10 Unities + Antwort hilfreich

Servus
Eine Komponente kannst du folgendermaßen erzeugen (genauso wie von Hand, sollte sich auch durch den Makrorekorder aufzeichnen lassen):
- Detail-Blatt anlegen
- neue View erzugen (=Komponente)
- Tabelle/Geometrie... in View erzeugen
Eine Instanz einer Komponente erzeugst du über DrawingComponents.Add (siehe Doku)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Erich
Mitglied
Senior Consultant selbstständig


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

Beiträge: 198
Registriert: 03.10.2000

i7-9850H
RAM 32,0 GB
Nvidia Quadro T2000
Windows 7 Professional 64Bit

erstellt am: 25. Nov. 2012 14:43    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
danke für die schnelle Auskunft. Eins habe ich vergessen. Die 2D-Komponente soll im vorhandenen Detail-Sheet erzeugt werden.
Zusätzlich wollte ich dem User ermöglichen durch Klicken auf dem Sheet, die Position des Details beim Instantinieren zu bestimmen.

------------------
mfg
Erich

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 25. Nov. 2012 19:48    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 Erich 10 Unities + Antwort hilfreich

Servus
Ich würde so vorgehen:
- Schleife über alle Sheets
- mit isDetail prüfen ob es sich um ein Detail-Blatt handelt
- 2D-Komonente erstellen
In der Doku gibt es ein Beispiel wie man eine Komponente (mit Anklicken eines Einfügepunktes) instantiiert.  ggf sind die Kooridinaten der Usereingabe aber nicht auf die Zielansicht bezogen (Umrechnung über Position der Ansicht sowie Maßstab)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Erich
Mitglied
Senior Consultant selbstständig


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

Beiträge: 198
Registriert: 03.10.2000

i7-9850H
RAM 32,0 GB
Nvidia Quadro T2000
Windows 7 Professional 64Bit

erstellt am: 26. Nov. 2012 13:51    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
soweit habe ich alles umsetzen können. Ein Problem mit dem DS-Script. Ich möchte auf dem Blatt aktiv sein und dort über den Mausklick die Position bestimmen können?
Also keine Ansicht als Ort der Eingabe verwenden, sondern das Ditto soll auf dem Blatt referenziert sein!

Anbei das DS-Script:
' COPYRIGHT DASSAULT SYSTEMES 2003

' ***********************************************************************
'  Purpose:      This macro allows you to instantiate a ditto in
'                      a view from a detail view
'  Author:
'  Languages:  VBScript
'  Locales:      English
'  CATIA Level: V5R11
' ***********************************************************************

Sub CATMain()

    ' Open the drawing document
    Dim oDrawing As DrawingDocument
    Set oDrawing = CATIA.ActiveDocument

   
    ' Retrieve the sheets collection of the drawing document
    Dim oSheets As DrawingSheets
    Set oSheets = oDrawing.Sheets
   
    ' Retrieve the sheet where the detail view will be instantiated
    Dim oSheet As DrawingSheet
    Set oSheet = oSheets.Item("Blatt01")
   
    ' Retrieve the view where the detail view will be instantiated
    Dim oView As DrawingView
    Set oView = oSheet.Views.Item("Front view")
    oView.Activate
   
    ' Retrieve the detail sheet containing the detail view to be instantiated
    Dim oDetailSheet As DrawingSheet
    Set oDetailSheet = oSheets.Item("Details")
   
    ' Retrieve the detail view to be instantiated
    Dim oDetailView As DrawingView
    Set oDetailView = oDetailSheet.Views.Item("Tabelle")
   
    ' Indicate the ditto location
    Dim ReturnStatus As String
    Dim iDittoCoordinates(1)
    Dim oDraw
    Set oDraw = oDrawing
    ReturnStatus = oDraw.Indicate2D("Indicate the ditto location", iDittoCoordinates)
     
    ' Retrieve the drawing components collection of the target drawing view
    Dim o2DComponents As DrawingComponents
    Set o2DComponents = oView.Components
   
    ' Create the ditto
    Dim o2DComponent As DrawingComponent
    Set o2DComponent = o2DComponents.Add(oDetailView, iDittoCoordinates(0), iDittoCoordinates(1))
   
End Sub

------------------
mfg
Erich

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 26. Nov. 2012 15:02    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 Erich 10 Unities + Antwort hilfreich

Servus
die erste Ansicht auf eine Blatt ist der Vordergrund, die zweite der Hintergrund. Also sollte:
Code:
Set oView = oSheet.Views.Item(1)
funktionieren.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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)2023 CAD.de | Impressum | Datenschutz