Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  GeoSet Kopieren von Part zu Part

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:  GeoSet Kopieren von Part zu Part (2010 mal gelesen)
joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 11. Mrz. 2015 22:03    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


CopyError.JPG

 
ich möchte die Bodies und Sets von einem CatPart in ein anders 'dumm' kopieren.
Während die Bodies klappen, machen die HybridBodies Probleme (siehe Fehlermeldung).
Der Fehler tritt auf in der zweiten Schleife in der Zeile mit 'osel.PasteSpecial'.

Was überseh' ich?

Code:

Option Explicit

Const strVersion As String = "V1.0"
Const strMacroName As String = "CopyPartToPart"

Public oRefAx As AxisSystem            'Part Ref axis system,1/1/1;0/0/0
Public oSourceDoc As PartDocument      'source part doc
Public oDestDoc As PartDocument        'destinaton

Sub CATMain()
  Dim oSourceWindow As Window
  Dim oDestWindow As Window
  Dim oSourcePart As Part
  Dim oDestPart As Part
  Dim oHBdy As HybridBody
  Dim oSel As Selection
  Dim n As Integer

  Set oSel = CATIA.ActiveDocument.Selection
  oSel.Clear

  Set oSourceWindow = CATIA.ActiveWindow
  Set oSourceDoc = CATIA.ActiveDocument
  Set oSourcePart = oSourceDoc.Part
  'create dest part
 
  Set oDestDoc = CreateNewPart(oSourceDoc.Part.Name & "_NewPart", _
      "New Part aus " & oSourceDoc.Name, True, True)
  Set oDestWindow = CATIA.Windows.Item(CATIA.Windows.Count)
  Set oDestPart = oDestDoc.Part
  Set oRefAx = CreateNewAxisSp(oDestDoc.Part, "RefAxis")
  oSourceWindow.Activate
  DoEvents

  CATIA.RefreshDisplay = False
  CATIA.DisplayFileAlerts = False
  CATIA.HSOSynchronized = False
 
  For n = 1 To oSourcePart.Bodies.Count
      oSel.Clear
      oSel.Add oSourcePart.Bodies.Item(n)
      oSel.Copy
'      oSel.Clear
     
      oSel.Add oDestPart
      oSel.PasteSpecial "CATPrtResultWithOutLink"
  Next
'  oSel.Clear

  For n = 1 To oSourcePart.HybridBodies.Count
      oSel.Clear
      oSel.Add oSourcePart.HybridBodies.Item(n)
      oSel.Copy
      oSel.Clear
     
      oSel.Add oDestPart
      oSel.PasteSpecial "CATPrtResultWithOutLink"
  Next
  oSel.Clear
 
  oDestDoc.Part.Update
  CATIA.RefreshDisplay = True
  CATIA.HSOSynchronized = True
  CATIA.DisplayFileAlerts = True
  oDestWindow.Activate
End Sub


TIA,
Joe

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

JPF
Mitglied
Programmierer


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

Beiträge: 128
Registriert: 17.08.2001

CATIA V5R19 SP9--HP420,Intel(R) Xeon(R) CPU E5-1620 3.60GHz,32 GB Ram,
NVIDIA Quadro 2000--Windows 7 Enterprise 64bit

erstellt am: 12. Mrz. 2015 06: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 Nur für joehz 10 Unities + Antwort hilfreich

Guten Morgen,

ohne es getestet zu haben, entferne mal die oSel.Clear in der
Schleife!

Gruss JPF

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

imation1999
Mitglied
dipl.-ing. Maschinenbau


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

Beiträge: 276
Registriert: 02.08.2011

Dell Precision T3500
Intel® Xeon® Quad Core
NVIDIA Quadro® 5000
Win7 x64 Ultimate
CATIA V5 R20 SP2

erstellt am: 12. Mrz. 2015 07:14    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 joehz 10 Unities + Antwort hilfreich

Hallo Joe,

Code:
For n = 1 To oSourcePart.HybridBodies.Count
      oSel.Clear
      oSel.Add oSourcePart.HybridBodies.Item(n)
      oSel.Copy
      oSel.Clear
    
      oSel.Add oDestPart <----- du musst hier die Ziel GeoSet selektieren, statt Zielpart
      oSel.PasteSpecial "CATPrtResultWithOutLink"
  Next


zB.:

Code:

    Dim oSel2
    Set oSel2 = oDestDoc.Selection
 
  For n = 1 To oSourcePart.HybridBodies.Count
      oSel.Clear
      oSel.Add oSourcePart.HybridBodies.Item(n)
      oSel.Copy

    oSel2.Add oDestPart.HybridBodies.Item(1)
    oSel2.PasteSpecial "CATPrtResultWithOutLink"
    oSel2.Clear

  Next



[Diese Nachricht wurde von imation1999 am 12. Mrz. 2015 editiert.]

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 12. Mrz. 2015 10:46    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

Hi JPF,

das hab ich schon probiert.
Ergebnis: Andere Fehlermeldung

Danke,
Joe

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 12. Mrz. 2015 10: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

Hi imation,

den Test hab ich auch schon durch.

Ich will eigentlich die Baum-Struktur beibehalten.


Die einzig verbleibende Methode scheint zu sein:
- geoset im Zielpart erzeugen
- geoset umbenennen
- elemente aus geoset-quelle nach geoset-ziel kopieren

Ich probier noch 'n Bisschen.

Danke,
Joe

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

imation1999
Mitglied
dipl.-ing. Maschinenbau


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

Beiträge: 276
Registriert: 02.08.2011

Dell Precision T3500
Intel® Xeon® Quad Core
NVIDIA Quadro® 5000
Win7 x64 Ultimate
CATIA V5 R20 SP2

erstellt am: 12. Aug. 2015 20:22    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 joehz 10 Unities + Antwort hilfreich

Hallo Joe,

wie weit bist Du mit diesem Makro gekommen?


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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 12. Aug. 2015 21:35    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 imation,

So weit:

http://ww3.cad.de/foren/ubb/Forum137/HTML/005829.shtml

Mein nächstes Ziel wäre gewesen, die Transformationsachsen und unsichtbaren Elemente loszuwerden;
vermutlich durch erneutes Kopieren in ein drittes(finales) CatPart.

Der Schritt lässt sich auch händisch relativ einfach umsetzen:
- Alle Bodies/Hybridbodies(ausser PartBody) im Baum selektieren, kopieren und in ein frisches CATPart as Result 'Pasten'.
- ins NoShow wechseln; alles auswählen, löschen
- update, speichern, fertig.

Wenn ich mal Lust hab', mach' ich's fertig.

Tschau,
Joe

------------------
The problem with the world is that the intelligent people are full of doubts, while the stupid ones are full of confidence.
~Charles Bukowski

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