Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Herausfinden ob eine Sketch aktiv ist

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:  Herausfinden ob eine Sketch aktiv ist (1470 mal gelesen)
RAA
Mitglied
CAD/PDM-Supporter


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

Beiträge: 57
Registriert: 05.08.2009

HP Z420
Intel Xeon 3,6GHz 32GB
Windows 7 Enterprise
V5R19+R22+R24+R26
VB.net 2010

erstellt am: 02. Mai. 2012 15:21    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,

ich möchte in einer Sketch Geometrie per Makro erzeugen.

Da mir die Erzeugung der Sketch selbst zu variantenreich ist
(das kann der Benutzer schneller) soll das Makro überprüfen,
ob der Benutzer in einer Sketch ist.
Wenn sich die Sketch im PartBody befindet funktioniert es, aber nicht
in allen beliebigen Möglichkeiten im PART.

Weiß jemand einen universellen Ansatz zu überprüfen, ob in dem aktiven Part
eine aktive Sketch ist?

mfg
Rainer

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 02. Mai. 2012 16:10    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 RAA 10 Unities + Antwort hilfreich

Ich hab's nicht wirklich verstanden, was Du da schreibst, aber prüfen ob der Sketcher offen ist kannst Du über die Workbench.

Sub Catmain()

Abfrage = CATIA.GetWorkbenchId

MsgBox (Abfrage)

End Sub

bzw. hier gibt's noch Informationen http://ww3.cad.de/foren/ubb/Forum137/HTML/001485.shtml#000001

Ob das aber zu Deiner Frage passt weiß ich nicht, da nicht verstanden, wie gesagt. :-(
Wenn's nicht passt, dann nochmals mit anderen Worten probieren.

InWorkObject wäre z.B. eine Methode das aktive Objekt herauszufinden.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

RAA
Mitglied
CAD/PDM-Supporter


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

Beiträge: 57
Registriert: 05.08.2009

HP Z420
Intel Xeon 3,6GHz 32GB
Windows 7 Enterprise
V5R19+R22+R24+R26
VB.net 2010

erstellt am: 02. Mai. 2012 16:40    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 HoBLila,

vielen Dank für die schnelle Reaktion.

Der Hinweis auf die Workbench ist sehr hilfreich um eine aktive Sketch zu prüfen.

Mein Kernproblem ist aber, daß sich Sketches ja im PartBody, in einem Body oder in einem GeometricalSet befinden können.

Ich habe im Moment folgende Objektzuweisung:

Set partdocument1 = CATIA.ActiveDocument
Set part1 = partdocument1.Part
Set sketch1 = part1.InWorkObject

Es tritt immer ein Fehler in der 3. Zeile auf, wenn sich die Sketch nicht im PartBody befindet
und dort komme ich im Moment nicht weiter.

Gruß Rainer

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: 02. Mai. 2012 16:45    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 RAA 10 Unities + Antwort hilfreich

Servus
Wenn du die Sketch als Objekt hast kannst du dich über .Parent.Parent (siehe auch Doku und Watch.-Fester) nach oben hangeln. (zB zu GeoSet)

Gruß
Bernd

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

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

RAA
Mitglied
CAD/PDM-Supporter


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

Beiträge: 57
Registriert: 05.08.2009

HP Z420
Intel Xeon 3,6GHz 32GB
Windows 7 Enterprise
V5R19+R22+R24+R26
VB.net 2010

erstellt am: 02. Mai. 2012 16:55    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,

nein, die gerade habe ich nicht der Fehler tritt bei
Set sketch1 = part1.InWorkObject (Typen unverträglich)
auf, wenn die Sketch im GeoSet ist.

mfg
Rainer

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: 02. Mai. 2012 17:53    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 RAA 10 Unities + Antwort hilfreich

Servus
AFAIKAs far as i know (So viel ich weiss) geht das In WorkObject nur bei PartFeatures. Ein Sketch gehört zur Sketch-Collection dieses wiederum gehört zu einem Körper/GeoSet.

Gruß
Bernd

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

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: 17. Sep. 2013 11:19    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 RAA 10 Unities + Antwort hilfreich

Hallo Zusammen,

Ich bin gerade in "Sketcher".
Dort möchte ich mein Makro laufen lassen, aber fehlt eine Reihe:

Set sketch1 = < wo ich gerade drin bin >

Könnt Ihr mir helfen?

Vielen Dank im Voraus

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

RAA
Mitglied
CAD/PDM-Supporter


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

Beiträge: 57
Registriert: 05.08.2009

HP Z420
Intel Xeon 3,6GHz 32GB
Windows 7 Enterprise
V5R19+R22+R24+R26
VB.net 2010

erstellt am: 20. Sep. 2013 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,
in einer Sketch erzeuge ich so Geometrie:

Dim CATIA As Application
Dim CurSketch As Sketch
Dim factory2D1 As Factory2D
Dim sel1 As Selection
Set CATIA = GetObject(, "CATIA.Application")
...

If CATIA.GetWorkbenchId = "CS0WKS" Then  ' ist eine Sketch geöffnet
  sel1.Search ("Sketcher.AbsoluteAxis;in")
  Set CurSketch = PartDok1.Selection.FindObject("CATIASketch")
  CurSketch.OpenEdition
  Set factory2D1 = CurSketch.Factory2D

... Geometrie erzeugen

  CurSketch.CloseEdition
End If

Ich hoffe das hilft

Gruß Rainer

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: 20. Sep. 2013 09:40    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 RAA 10 Unities + Antwort hilfreich

Hallo RAA,

vielen Dank für Deine Antwort.

Deine Lösung

sel1.Search ("Sketcher.AbsoluteAxis;in")
Set CurSketch = PartDok1.Selection.FindObject("CATIASketch")

ist nicht zu schön, aber funktioniert. 

Danke nochmal!

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