Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Geometrie aus dem Blatthintergrund

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:  Geometrie aus dem Blatthintergrund (1435 mal gelesen)
cevk
Mitglied
Entwicklung / Admin


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

Beiträge: 45
Registriert: 03.02.2005

erstellt am: 21. Jan. 2008 11:58    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 zusammen,

Ich habe ein "fremdes" Makro, das mir entsprechend meinen Zeichnungsrahmen anpasst, die Indexstände ändert und meine Schriftkopfeinträge wunderbar verwaltet. Kurzum ein dolles Ding.
Jetzt haben wir noch ein eigenes Makro das Messpunkte aus einem Part ausliest, eine Tabelle aus Linien und Texten in den Blatthintergrund erstellt und die Werte der Messpunkte einträgt.

Wenn ich aber jetzt das Zeichnungsblatt (Größe) ändere, Löscht das erste Makro den kompletten Blatthintergrund, das bedeutet meine Messtabelle wird auch gelöscht.

Jetzt meine Idee: Ich kopiere per Makro meine Tabellenelemente (Linien und Texte) aus dem Blatthintergrund in die Arbeitsansicht, Starte das erste Makro und wenn es fertig ist kopiere ich meine Tabellenelemente einfach zurück in den Blatthintergrund.

Mein Code:
  Sub copieren()
  Set drwdocument = CATIA.ActiveDocument
  Set DrwSheets = drwdocument.Sheets
  Dim selection3 As Selection
  Set selection3 = drwdocument.Selection
  selection3.Clear
  selection3.Search ("Name=*Testlinie*,all")
'  selection3.Copy
'  DrwSheet.Views.Item(1).Activate  'Working View aktivieren
'  Set DrwSheet = DrwSheets.Item("Sheet.1")
'  DrwSheet.Activate
  selection3.Paste
End Sub

Was Passiert: Die Linie (Muss natürlich vorhanden sein) wird im Blatthintergrund kopiert und nicht, wie erwartet in die Arbeitsansicht.
Die Ausgeklammerten Befehle tun selbst wenn ich sie aktiviere nichts.

Kann mir jemand helfen ?

------------------
Grüße aus dem Schwarzwald
Viktor

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

BigCheese
Mitglied
Dipl-Ing


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

Beiträge: 130
Registriert: 12.05.2004

CATIA V5R19 SP3

erstellt am: 21. Jan. 2008 14:56    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 cevk 10 Unities + Antwort hilfreich

Hallo Viktor,

ohne es getestet zu haben könnte Dein Makro so aussehen:

Code:
  Sub copieren()
  Set drwdocument = CATIA.ActiveDocument
  Set DrwSheets = drwdocument.Sheets
  Dim selection3 As Selection
  Set selection3 = drwdocument.Selection
  selection3.Clear
  selection3.Search ("Name=*Testlinie*,all")
  selection3.Copy
  selection.Clear
'  DrwSheet.Views.Item(1).Activate  'Working View aktivieren
  Set DrwSheet = DrwSheets.Item("Sheet.1")
'  DrwSheet.Activate
  selection3.Add(DrwSheet)
  selection3.Paste
End Sub

Vor dem Einfügen musst Du das Ziel für Deine Elemente auswählen.
Evtl. musst du noch das Sheet aktivieren.

Hoffe das funzt so.
Gruß, Alex

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

cevk
Mitglied
Entwicklung / Admin


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

Beiträge: 45
Registriert: 03.02.2005

erstellt am: 21. Jan. 2008 15:41    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 Alex,

aber
bei:
selection3.Add (DrwSheet) -> Object doesen't support this property or method

und bei:
selection3.Add DrwSheet -> Object required

Fällt Dir noch etwas ein?
Bin für jeden Tip dankbar

------------------
Grüße aus dem Schwarzwald
Viktor

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 21. Jan. 2008 18:20    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 cevk 10 Unities + Antwort hilfreich

Hallo,

versuche es mal mit

Code:
selection3.Add (DrwSheet.views.item(2))

Interaktiv kannst Du auch keine Geometrie auf den Blatt einfügen (bzw. wird dort automatisch Views.item(1), MainView ausgewählt.
So müsste es funktionieren.

Gruß,
Zoltan

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 22. Jan. 2008 00:05    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 cevk 10 Unities + Antwort hilfreich

Hallo cevk,

sollte es nicht so gehen:

Code:
Sub copieren()
    Set drwdocument = CATIA.ActiveDocument
    Set DrwSheets = drwdocument.Sheets
    Set DrwSheet = DrwSheets.ActiveSheet
    Dim selection3 As Selection
    Set selection3 = drwdocument.Selection
    selection3.Clear
    selection3.Add DrwSheet.Views.Item(2)
    selection3.Search ("Name=*Testlinie*,all")
    selection3.Copy
    selection3.Clear
    selection3.Add DrwSheet.Views.Item(2)
    selection3.Paste
End Sub
Damit sollte die Auswahl aus dem Background des aktuellen Sheets kopiert und auch wieder dort eingefügt werden.


mfg,
Lusilnie

------------------

Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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

cevk
Mitglied
Entwicklung / Admin


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

Beiträge: 45
Registriert: 03.02.2005

CATIA V5R19 SP9
Windows XP Prof SP3
MegaCad 2013
Windows 7 64 bit

erstellt am: 22. Jan. 2008 08:17    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 Zoltan,
Hallo Lusilnie,

viiiiiiiiiiiiiiiiiieeeeeeeeeeelen Dank, ihr habt mir sehr geholfen, lasst Euch umarmen KlKr.    

Habe noch eine Kleinigkeit modifiziert.

Code:

Sub copieren()
    Set drwdocument = CATIA.ActiveDocument
    Set DrwSheets = drwdocument.Sheets
    Set DrwSheet = DrwSheets.ActiveSheet
    Dim selection3 As Selection
    Set selection3 = drwdocument.Selection
    selection3.Clear
    selection3.Add DrwSheet.Views.Item(2)
    selection3.Search ("Name=*Testlinie*,all")
    selection3.Copy
    selection3.Clear
    selection3.Add DrwSheet.Views.Item(1)
    selection3.Paste
End Sub

Eure Units habt ihr euch redlich verdient.

Gruß cevk

------------------
Grüße aus dem Schwarzwald
Viktor

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