Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Punkte bemassen in geöffneter Skizze

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:  Punkte bemassen in geöffneter Skizze (750 mal gelesen)
V5-Maxe
Mitglied
CAD-Konstrukteur, CATIA V5


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

Beiträge: 37
Registriert: 16.06.2005

Windows7 Prof x64
CATIA V5R19
Dell Precision T5500
12GB
NVIDIA Quadro FX 580 512MB

erstellt am: 24. Nov. 2008 09: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

Hallo zusammen,
ich möchte in einer bereits geöffnetten Skizze ausgewählte Punkte bezüglich der V- und H-Achse bemassen.
Die Auswahl funktioniert auch soweit, nur mit der Deklaration der schon geöffneten Skizze und der Vereinbarung der Referenzen für die Bemassung (AddBiEltCst(Ref1,Ref2)) komme ich nicht weiter.
Hat jemand eine Idee?
Gruß V5-Maxe

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

ogard1
Mitglied
Verfahrenstechniker


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

Beiträge: 442
Registriert: 12.09.2004

R19 SP2

erstellt am: 24. Nov. 2008 11: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 Nur für V5-Maxe 10 Unities + Antwort hilfreich

Hallo,
in deinem Code fehlt die Angabe was für ein Typ des Constraint du erstellen möchtest

Dim oConstraints As Constraints
    Set oConstraints = oCurrentSketch.Constraints
    Dim oConstraint As Constraint

Typ Offset: ( catCstTypeDistance, Ref1,Ref2 )

Typ Fix:    AddMonoEltCst(catCstTypeReference, _  Ref)

und so weiter, CAA Hilfe durchlesen

Gruß
   
                                               


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

V5-Maxe
Mitglied
CAD-Konstrukteur, CATIA V5


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

Beiträge: 37
Registriert: 16.06.2005

Windows7 Prof x64
CATIA V5R19
Dell Precision T5500
12GB
NVIDIA Quadro FX 580 512MB

erstellt am: 24. Nov. 2008 12: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

Danke, das klingt gut!
Mein momentanes Problem ist, dass ich nicht weiss, wie ich meinen oCurrentSketch vereinbare... Ich bin schon drin

Dim oCurrentSketch As Sketch
Set oCurrentSketch = ...???

ist bestimmt ganz trivial

Gruß

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

ogard1
Mitglied
Verfahrenstechniker


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

Beiträge: 442
Registriert: 12.09.2004

R19 SP2

erstellt am: 24. Nov. 2008 13:30    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 V5-Maxe 10 Unities + Antwort hilfreich

Hallo,

z.b. über Namen

    Set oCurrentSketch = oBody.Sketches.Item("Sketch.1")

Gruß


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

CAMiCADse
Mitglied



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

Beiträge: 177
Registriert: 17.02.2006

V5,R19,SP9

erstellt am: 24. Nov. 2008 14: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 Nur für V5-Maxe 10 Unities + Antwort hilfreich

Hallo V5-Maxe,
wenn du schon ein GeoElement des Sketches als Objekt hast, dann über .Parent.Parent

aber was du wahrscheinlich brauchst ist die Methode "FindObject" der Selection:

Code:
'# Voraussetzung: Ein GeoElement des Sketches ist selektiert
Dim sk as Sketch
Set sk = CATIA.ActiveDocument.Selection.FindObject("CATIASketch")

Gruß
CAMiCADse

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

V5-Maxe
Mitglied
CAD-Konstrukteur, CATIA V5


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

Beiträge: 37
Registriert: 16.06.2005

Windows7 Prof x64
CATIA V5R19
Dell Precision T5500
12GB
NVIDIA Quadro FX 580 512MB

erstellt am: 24. Nov. 2008 14: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

Danke, aber
muss ich wirklich den Namen oder Index meines aktiven Sketches und seinen Platz im Strukturbaum wissen, um eine Bemaßung in meinem aktiven Sketch zu setzen? Es muesste doch eine Möglichkeit geben, den aktiven Sketch zu deklarieren.
Oder fehlt hier noch was anderes???

Mein aktueller Code sieht so aus:

Sub CATMain()
Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument
Dim MyPart As Part
Set MyPart = partDocument1.Part
Dim sel1 As Selection
Dim HAxis, VAxis As Line2D
Dim oCurrentSketch As Sketch
'Set oCurrentSketch=??

'Hier suche ich die Punkte im aktiven Sketch und dann sehe ich alt aus
sel1.Search ("Sketcher.Punkt;in")
Set HAxis = oCurrentSketch.AbsoluteAxis.HorizontalReference
Set VAxis = oCurrentSketch.AbsoluteAxis.VerticalReference

Dim oConstraints As Constraints
Set oConstraints = oCurrentSketch.Constraints
sel1.Search ("Sketcher.Punkt;in")

For I = 1 To sel1.Count
'hier soll jedem Punkt eine Bemassung bzgl. V-Axis und H-Axis zugewiesen werden
Next
End Sub


Gruß

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

V5-Maxe
Mitglied
CAD-Konstrukteur, CATIA V5


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

Beiträge: 37
Registriert: 16.06.2005

Windows7 Prof x64
CATIA V5R19
Dell Precision T5500
12GB
NVIDIA Quadro FX 580 512MB

erstellt am: 24. Nov. 2008 14: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

@CAMiCADse
DANKE, das wars (fast)

Sub CATMain()

Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument
Dim MyPart As Part
Set MyPart = partDocument1.Part

Dim sel1 As Selection
Set sel1 = partDocument1.Selection

Dim HAxis, VAxis As Line2D
Dim Ref1, Ref2 As Reference
Dim oCurrentSketch As Sketch

Dim oConstraints As Constraints

Dim Abstand As Constraint
sel1.Search ("Sketcher.Punkt;in")
Set oCurrentSketch = CATIA.ActiveDocument.Selection.FindObject("CATIASketch")
Set oConstraints = oCurrentSketch.Constraints
Set HAxis = oCurrentSketch.AbsoluteAxis.HorizontalReference
Set VAxis = oCurrentSketch.AbsoluteAxis.VerticalReference
For I = 1 To sel1.Count
    Set Ref1 = sel1.Item(I).Value
    Set Abstand = oConstraints.AddBiEltCst(catCstTypeDistance, HAxis, Ref1)
Next
sel1.Clear

End Sub


"Typen unverträglich" in der Zeile>>  Set Abstand...

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

CAMiCADse
Mitglied



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

Beiträge: 177
Registriert: 17.02.2006

V5,R19,SP9

erstellt am: 24. Nov. 2008 15: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 V5-Maxe 10 Unities + Antwort hilfreich

Hallo Maxe,

da stimmen so einige Typen nicht, Deklarier mal alles ordentlich, dann bricht das Makro schon vorher ab:
Dim Ref1 As Reference, Ref2 As Reference

Dim HAxis, VAxis As Line2D' <-- AddBiEltCst erwartet Referenzen keine Line2D

Nutze einfach mal den Makrorekorder, du mußt nur darauf achten, den Sketch auch zu schließen bevor du den Rekorder beendest, sonst zeichnet er nichts auf!

Gruß
CAMiCADse

P.S. Bei FindObject geht dir ein Punkt der Selection verloren, den mußt du vorher zwischenspeichern und dann wieder .Add'en

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

V5-Maxe
Mitglied
CAD-Konstrukteur, CATIA V5


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

Beiträge: 37
Registriert: 16.06.2005

Windows7 Prof x64
CATIA V5R19
Dell Precision T5500
12GB
NVIDIA Quadro FX 580 512MB

erstellt am: 25. Nov. 2008 07:52    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 CAMiCADse,
dank deiner Hilfe ist jetzt alles gut! 10Unis 4U

Der Hinweis mit Skizze zu vor Aufzeichnungsende war Klasse, bisher war das aufgezeichnete Macro immer leer.

Auch für alle anderen hier der Code, der zumindest bei mir funzt!

Option Explicit

Sub CATMain()
On Error Resume Next

Dim I As Integer

Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument
Dim MyPart As Part
Set MyPart = partDocument1.Part

Dim sel1 As Selection
Set sel1 = partDocument1.Selection

Dim HAxis, VAxis As Line2D
Dim Ref1 As Reference
Dim Ref2 As Reference
Dim Ref3 As Reference
Dim oCurrentSketch As Sketch
Dim oConstraints As Constraints
Dim Abstand As Constraint
sel1.Search ("Sketcher.Punkt;in")

Set oCurrentSketch = CATIA.ActiveDocument.Selection.FindObject("CATIASketch")
Set oConstraints = oCurrentSketch.Constraints
Set HAxis = oCurrentSketch.AbsoluteAxis.HorizontalReference
Set Ref2 = MyPart.CreateReferenceFromObject(HAxis)
Set VAxis = oCurrentSketch.AbsoluteAxis.VerticalReference
Set Ref3 = MyPart.CreateReferenceFromObject(VAxis)
For I = 1 To sel1.Count
    Set Ref1 = MyPart.CreateReferenceFromObject(sel1.Item(I).Value)
    Set Abstand = oConstraints.AddBiEltCst(catCstTypeDistance, Ref1, Ref2)
    Set Abstand = oConstraints.AddBiEltCst(catCstTypeDistance, Ref1, Ref3)
Next
sel1.Clear

If Err.Number = 0 Then
    MsgBox "Macro finished without Error", vbInformation, "MACRO END"
Else
    MsgBox "Macro finished with Error: " & Chr(13) & Err.Description, vbInformation, "MACRO END"
End If
End Sub


Gruß und Dank

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

denyo_1
Moderator
Manager


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

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: 25. Nov. 2008 08: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 V5-Maxe 10 Unities + Antwort hilfreich

Hallo V5-Maxe,

hab noch ne kleine Anmerkung zu deinem Code.
Ich würde Laufzeitfehler nicht über den ganzen Code abfangen. Falls bei einer "riskanten" Zeile ein Fehler auftretten kann ist das mit "On error Resume next" sicherlich ok, aber wenn du das über das ganze Script machst, wird es extrem schwer den Fehler zu finden falls dein Skript einen produziert.

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

V5-Maxe
Mitglied
CAD-Konstrukteur, CATIA V5


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

Beiträge: 37
Registriert: 16.06.2005

Windows7 Prof x64
CATIA V5R19
Dell Precision T5500
12GB
NVIDIA Quadro FX 580 512MB

erstellt am: 25. Nov. 2008 10:34    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 Daniel,
mache ich so, war ursprünglich gedacht, um überhaupt zu wissen, ob Macro mit oder ohne Fehler durchläuft.
units 4U
Gruß

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