Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Punkte Search. Und Selection

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 Search. Und Selection (3696 mal gelesen)
Burrows
Mitglied



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

Beiträge: 10
Registriert: 23.02.2012

Catia V5 R19

erstellt am: 23. Feb. 2012 16:29    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 als Newbie hab folgendes Problem:

Ich Möchte gerne auf eine Kurve die ich aus selektier Punkte suchen lassen die im Show sind und das aber mehrere sind. Z.B. x Stück.

Wenn ich nur einen Punkt habe funktioniert das ganze auch recht gut... aber wenn ich mehr habe bräuchte ich eine schleife oder so... ich komm irgendwie nicht drauf.

Oder kann ich die dann Einzeln auslesen...

Das blöde ist das es manchmal 2 Punkte sein können und manchmal 10...

Für eure Hilfe wäre ich sehr dankbar...


Sub CATMain()

'#######################

Dim Document1 As Document
Set Document1 = CATIA.ActiveDocument

Dim oSelection, oSelectedElement, oDoc, oInstance, oRef, ECurve, EPoint As Object

Dim part1 As Part
Set part1 = Document1.Part

Dim parameters1 As Parameters
Set parameters1 = part1.Parameters


Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = part1.HybridShapeFactory


'#########################

' Auswahl festlegen --CURVE---------------------------------

MsgBox ("Curve selektieren!!!!!!")

Dim InputObjectCurve(0)
InputObjectCurve(0) = "HybridShape"

' Selektion definieren und leeren ---------------------------------

Set oSelection = CATIA.ActiveDocument.Selection
oSelection.Clear

' Selektion vornehmen lassen --------------------------------------

ECurve = oSelection.SelectElement2(InputObjectCurve, "Curve", false)

Dim Ref1 As Reference
Set Ref1 = oSelection.Item2(1).Reference
oSelection.Clear

'################Punkte##############################


Dim ListePoint As Selection
Set ListePoint = CATIA.ActiveDocument.Selection
ListePoint.Clear
ListePoint.Search "((((((FreeStyle.Point + '2D Layout for 3D Design'.Point) + Sketcher.Point) + Drafting.Point) + 'Part Design'.Point) + 'Generative Shape Design'.Point) + 'Functional Molded Part'.Point);sel"

If ListePoint.Count > 0 Then
Set Ref2 = ListePoint.Item(1).Value
End If

'#######################################

Dim hybridShapeCurveExplicit1 As Parameter
Set hybridShapeCurveExplicit1 = Ref1'#########Curve

Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapeCurveExplicit1)

Dim parameters2 As Parameters
Set parameters2 = part1.Parameters

Dim hybridShapePointExplicit1 As Parameter
Set hybridShapePointExplicit1 = Ref2 '#########Punkt

Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapePointExplicit1)

'#################################

Dim hybridShapePointOnCurve1 As HybridShapePointOnCurve
Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveWithReferenceFromDistance(reference1, reference2, 7.500000, False)

hybridShapePointOnCurve1.DistanceType = 1

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

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

ThomasJay
Mitglied
Dipl-Ing


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

Beiträge: 159
Registriert: 19.04.2011

CATIA V5 R19

erstellt am: 23. Feb. 2012 17:16    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 Burrows 10 Unities + Antwort hilfreich

Hallo,

ich versteh ehrlich gesagt nicht so ganz was du genau möchtest. Vll kannst du noch etwas genauer beschreiben was das Makro können soll. Wenn das Problem aber nur die Stelle mit der beliebigen Anzahl an Punkten ist würde ich vorschlagen, dass du nach der Selektion eine Schleife vom folgenden Typ einbaust:

Code:

For i = 1 to selection.count2

Set Ref2 = ListePoint.Item(i).Value

next



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

Burrows
Mitglied



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

Beiträge: 10
Registriert: 23.02.2012

Catia V5 R19

erstellt am: 24. Feb. 2012 08:00    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

Guten Morgen ThomasJay,

Ja eigenlich will ich nur eine Schleife laufen lassen. Aus dem Ergebnis das die Suche ausspuckt. und mit jedem einzelen punkt das gleiche machen.
Aufgabe des Makros ist. Auf der UserSelect Curve, und den gefundenen Punkt 2 weitere Punkte zu erzeugen als referenz soll der gefundene Punkt dienen.

Also ich hab deinen Rat befolgt und es funktioniert einmal. doch beim zuweiten durchlauf beibt es dann hängen in der zeile wo ich die referenz nochmal setze.

Code:

'##########Search_Point##############

Dim ListePoint As Selection
Set ListePoint = CATIA.ActiveDocument.Selection
ListePoint.Clear
ListePoint.Search "((((((FreeStyle.Point + '2D Layout for 3D Design'.Point) + Sketcher.Point) + Drafting.Point) + 'Part Design'.Point) + 'Generative Shape Design'.Point) + 'Functional Molded Part'.Point);scr"

If ListePoint.Count2 > 0 Then
For i = 1 to ListePoint.Count2
Dim Ref2 As Reference

Set Ref2 = ListePoint.Item2(i).Value 'ab den zeiten durchlauf häng es hier


'hier kommt die Aktion ist leider zu viel...

next

End If

End Sub



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. Feb. 2012 08:50    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 Burrows 10 Unities + Antwort hilfreich

Servus
Versuch es mal so:
Set Ref2 = ListePoint.Item2(i).Reference
mit .Value wird dir das Objekt, mit .Reference die Refernz zurückgeliefert.

Gruß
Bernd

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

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

Burrows
Mitglied



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

Beiträge: 10
Registriert: 23.02.2012

Catia V5 R19

erstellt am: 24. Feb. 2012 09: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

Hab ich gemacht, jetzt kommt die fehlermeldung:

i Index value is not correct. Please give a value between 1 and 0

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. Feb. 2012 09: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 Nur für Burrows 10 Unities + Antwort hilfreich

Servus
In welcher Zeile kommt der Fehler? Als was ist i dimensioniert? Ist überhaupt was selektiert? Lass dir mal i Ausgeben (Wert iO?)

Gruß
Bernd

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

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

Burrows
Mitglied



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

Beiträge: 10
Registriert: 23.02.2012

Catia V5 R19

erstellt am: 24. Feb. 2012 09:44    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

Ja hab mir mit MsgBox mal i ausgeben lassen. Es sind alle Punkte selektiert.
in der MsgBox bekommte ich nach und nach auch die Anzeige über den einzelene Namen. Also das funktioniert.

Wie kann ich i dimensioniert?

Mein part ist auch ganz simple auf gebaut.

Eine kurve und 3 Punkte irgendwo auf der Kurve. mehr nicht.

Code:


Language="VBSCRIPT"
Sub CATMain()

'#######################

Dim Document1 As Document
Set Document1 = CATIA.ActiveDocument

Dim oSelection, oSelectedElement, oDoc, oInstance, oRef, ECurve, EPoint  As Object

Dim part1 As Part
Set part1 = Document1.Part

Dim parameters1 As Parameters
Set parameters1 = part1.Parameters


Dim hybridShapeFactory1 As Factory
Set hybridShapeFactory1 = part1.HybridShapeFactory


'#########################

' Auswahl festlegen --CURVE---------------------------------

MsgBox ("Curve selektieren!!!!!!")

Dim InputObjectCurve(0)
InputObjectCurve(0) = "HybridShape"


' Selektion definieren und leeren ---------------------------------

  Set oSelection = CATIA.ActiveDocument.Selection
oSelection.Clear

' Selektion vornehmen lassen --------------------------------------

  ECurve = oSelection.SelectElement2(InputObjectCurve, "Curve", false)

Dim Ref1 As Reference
    Set Ref1 = oSelection.Item2(1).Reference
  oSelection.Clear


'##########Search_Point##############

Dim ListePoint As Selection
Dim Ref2 As Reference
Set ListePoint = CATIA.ActiveDocument.Selection
ListePoint.Clear
ListePoint.Search "((((((FreeStyle.Point + '2D Layout for 3D Design'.Point) + Sketcher.Point) + Drafting.Point) + 'Part Design'.Point) + 'Generative Shape Design'.Point) + 'Functional Molded Part'.Point);scr"

For i = 1 to ListePoint.Count2


Set Ref2 = ListePoint.Item2(i).reference 'hier lauf das ganze dann immer auf fehle 


'#######################################

Dim hybridShapeCurveExplicit1 As Parameter
Set hybridShapeCurveExplicit1 = Ref1'#########Curve

Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(hybridShapeCurveExplicit1)

Dim parameters2 As Parameters
Set parameters2 = part1.Parameters

Dim hybridShapePointExplicit1 As Parameter
Set hybridShapePointExplicit1 = Ref2 '#########Punkt

Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(hybridShapePointExplicit1)

'#################################

Dim hybridShapePointOnCurve1 As HybridShapePointOnCurve
Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveWithReferenceFromDistance(reference1, reference2, 7.500000, False)

hybridShapePointOnCurve1.DistanceType = 1

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

'##########Geometisches Set Erzeugen###################


Dim HB1 As HybridBody
Set HB1 = Catia.ActiveDocument.Part.HybridBodies

Set FlaechenZumTrennen = HB1.Add
FlaechenZumTrennen.Name = "FlaechenZumTrennen"
Dim FlaechenZumTrennen As HybridBody


Dim hybridBody1 As HybridBody
Set hybridBody1 = FlaechenZumTrennen

'####################


hybridBody1.AppendHybridShape hybridShapePointOnCurve1

part1.InWorkObject = hybridShapePointOnCurve1

part1.Update

Set partDocument1 = CATIA.ActiveDocument

Dim selection1 As Selection
Set selection1 = partDocument1.Selection

selection1.Clear

selection1.Add hybridShapePointOnCurve1

selection1.Copy

Set partDocument1 = CATIA.ActiveDocument

Dim selection2 As Selection
Set selection2 = partDocument1.Selection

selection2.Clear

selection2.Add hybridBody1

selection2.Paste

Dim reference3 As Reference
Set reference3 = part1.CreateReferenceFromObject(hybridShapeCurveExplicit1)

Dim reference4 As Reference
Set reference4 = part1.CreateReferenceFromObject(hybridShapePointExplicit1)

Dim hybridShapePointOnCurve2 As HybridShapePointOnCurve
Set hybridShapePointOnCurve2 = hybridShapeFactory1.AddNewPointOnCurveWithReferenceFromDistance(reference3, reference4, -7.500000, False)

hybridShapePointOnCurve2.DistanceType = 1

hybridBody1.AppendHybridShape hybridShapePointOnCurve2

part1.InWorkObject = hybridShapePointOnCurve2

part1.Update


next


End Sub


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. Feb. 2012 10: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 Burrows 10 Unities + Antwort hilfreich

Servus
Programmierst du im VBA-Editor? Schau mal im Watchfenster was dir als .Reference zurückgeliefert wird.
Nicht immer kannst du über die Selektion gleich eine Referenz erzeugen. Dann musst du ggf es über das Objekt (.Value) dann deine Referenz bilden.

Gruß
Bernd

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

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

Burrows
Mitglied



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

Beiträge: 10
Registriert: 23.02.2012

Catia V5 R19

erstellt am: 24. Feb. 2012 12: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

Ich verwende den normalen Editor von Catia.

Danke Bernd für deine Tips...

Ich hab es zwar noch nicht hin bekommen... aber vielleicht kommt ja die Erleuchtung noch...

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: 24. Feb. 2012 12: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 Nur für Burrows 10 Unities + Antwort hilfreich

Zunächst einmal

Dim iIterator as Integer

Und dnan behaupte ich, dass die Selektion auf Grund des nachfolgenden Codes sich ändert.

Aber kein Problem

Dim arrVarBuffer() as Variant 'oder Object oder CATBaseUnknown oder was auch immer As Reference wäre sicher das Beste

und dann machste vor der Schleife

Redim arrVarBuffer(1 to selWork.count2)

und füllst in der Schleife erst einmal das Array, welches Du dann in der nächsten Schleife verwenden kannst, unabhängig von der Selection.
Mag Iterationen über eine Selection sowieso nicht zu sehr, da diese sich ja theoretisch ständig ändern könnte.

------------------
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

Burrows
Mitglied



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

Beiträge: 10
Registriert: 23.02.2012

Catia V5 R19

erstellt am: 24. Feb. 2012 14:11    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

jetzt komm ich gar nicht mehr mit... ich versteh das nicht so ganz was ich jetzt machen soll...

Kannst du mir das in Code zeigen!

Vielen Dank in vorraus für deine Hilfe

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: 24. Feb. 2012 15:08    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 Burrows 10 Unities + Antwort hilfreich

Code:

Dim arrRefWokrk()  As INFITF.Reference
Dim iElem          As Integer
Dim selWork        As INFTIF.Selection

Set selWork = CATIA.ActiveDocument.Selection
Call selWork.Clear
Call selWork.Search("((((((FreeStyle.Point + '2D Layout for 3D Design'.Point) + Sketcher.Point) " _
                    & "+ Drafting.Point) + 'Part Design'.Point) + 'Generative Shape Design'.Point) + 'Functional Molded Part'.Point);scr")

ReDim arrRefWokrk(1 To selWork.Count2)

For iElem = 1 To selWork.Count2


    Set arrRefWokrk(iElem) = selWork.Item2(iElem).Reference
   
Next iElem


Beschäftige Dich bitte mit Programmierung, wir können nicht alles für Dich machen und das würde auch mit meiner Arbeit kollidieren. Ich gebe nur Denkanstöße udn der Code war nun wahrlich nicht schwer, daher bekommst Du ihn natürlich auch, also kein Problem! :-)

------------------
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

ThomasJay
Mitglied
Dipl-Ing


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

Beiträge: 159
Registriert: 19.04.2011

CATIA V5 R19

erstellt am: 24. Feb. 2012 16: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 Burrows 10 Unities + Antwort hilfreich

Funktioniert das ganze nicht auch einfach mit:

Code:

dim i as integer

For i = 1 to selection.count2

Set Point = ListePoint.Item(i).Value
Set ref2 = part.CreatReferenceFromObject (Point)

next


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: 24. Feb. 2012 16: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 Nur für Burrows 10 Unities + Antwort hilfreich

Das kannst uns nur Du beantworten.

Hängt eben davon ab, ob es an der Selection oder an den Referenzen liegt.

------------------
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

Burrows
Mitglied



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

Beiträge: 10
Registriert: 23.02.2012

Catia V5 R19

erstellt am: 24. Feb. 2012 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

Vielen Herzlich Dank, an euch Beiden!!!!!

Ich werde es am Montag gleich ausprobieren. Und Bernd tut mir leid das ich dich von der Arbeit abhalte.

Ich hab den ganzen nach hause weg schon überlegt an was es liegen kann. Das Problem ist glaube ich, dass nach der Suche alles selektiert ist. Und dann der Erste Punkt ausgewählt wird und dann kommt die Anweisung was passieren soll mit dem Punkt. Aber nach getaner Arbeit ist nichts mehr selektiert und das ist das Problem. Man muss die ganze erste Auswahl irgendwie speichern.

Ich hoffe dein Vorschlag Funktioniert.

Ich muss zu meiner Verteidigung sagen, dass ich voll der Newbie bin in Sachen Makro, hab diese Woche erst angefangen zu schrieben. Und das Buch "CATIA V5 Makroprogrammierung mit Visual Basic Script" ist nicht so hilfreich was solche Probleme angeht.

Trotzdem Vielen Dank nochmals

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

MKampmann
Mitglied



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

Beiträge: 149
Registriert: 04.01.2011

Windows 7
MS office 2010
Catia v5 R19<P>PC:
Core I3-550
8GB Ram
Corsair SSD
....

erstellt am: 25. Feb. 2012 15: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 Burrows 10 Unities + Antwort hilfreich

habe ebenfalls eine Select Frage und wollte keinen neuen thread dafür aufmachen:

es soll ein Punkt (Punkt.1) innerhalb eines Parts (part.1) selektiert werden. Das part befindet sich in einer Baugruppe (Product1).
Wenn mein part angewählt ist dann funktioniert mein makro:


    Dim oSelection As Selection
    Set oSelection = CATIA.ActiveDocument.Selection
   

    oSelection.Clear
    oSelection.Add CATIA.Documents.Item("Part1.CATPart").Part.FindObjectByName("Punkt1")

Wenn das product angewählt ist und nicht das part, dann crascht mein catia und vb editor. Was kann ich machen dass der selection befehl auch geht wenn aktuell meine baugruppe ausgewählt ist?

grüße

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: 27. Feb. 2012 09:49    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 Burrows 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Burrows:
Vielen Herzlich Dank, an euch Beiden!!!!!

Ich werde es am Montag gleich ausprobieren. Und Bernd tut mir leid das ich dich von der Arbeit abhalte.

Ich hab den ganzen nach hause weg schon überlegt an was es liegen kann. Das Problem ist glaube ich, dass nach der Suche alles selektiert ist. Und dann der Erste Punkt ausgewählt wird und dann kommt die Anweisung was passieren soll mit dem Punkt. Aber nach getaner Arbeit ist nichts mehr selektiert und das ist das Problem. Man muss die ganze erste Auswahl irgendwie speichern.


Das ist doch genau das, was ich gesagt und Dir als Code angeboten habe. :-)

------------------
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

Burrows
Mitglied



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

Beiträge: 10
Registriert: 23.02.2012

Catia V5 R19

erstellt am: 29. Feb. 2012 07: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

Um den Beitrag zu vervollständigen. Ich hab mein Problem gelöst. Das Problem war, wie ich schon vermutet habe, dass die Selektion fehlt um das nächste Element Auszuwahlen. Ich lass jetzt von den Next eine erneute suche durchführen. Die Selektion ist aber begrenzt mit der ersten selection.count so findet Catia zwar mehr Punkte nützt aber nur die erste Auswahl.
Danke nochmal an alle.

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