Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Erstellte punkte nicht unter Fläche hängen

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
  
CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48
  
KISTERS 3DViewStation: Geniale 3D-Visualisierung für intuitiven HMI Einsatz, eine Pressemitteilung
Autor Thema:  Erstellte punkte nicht unter Fläche hängen (1193 mal gelesen)
joshuader6
Mitglied
Technischer Produktdesigner


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

Beiträge: 17
Registriert: 06.03.2014

Catia V5R19
Inventor 2014

erstellt am: 28. Mai. 2014 11:12    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,
Vielleicht kann mir ja hier jemend weiter helfen.
Ich habe folgendes Problem. Dieser Code nimmt ein Geoset und macht auf jeden Punkt darin einen neuen Punkt mit Koordinaten 0,0,0 und dann eine Sphäre darauf.

Code:

Sub CATMain()

Dim Document, Part, Selection, HybridShapeFactory, HybridBodies, HybridBody, OriginElements, Plane, PlaneReference, Status
Dim InputObjectType(0), PointIndex, PointReference, HybridShapeSymmetry
Set Document = CATIA.ActiveDocument: Set Part = Document.Part: Set Selection = Document.Selection
Set HybridShapeFactory = Part.HybridShapeFactory
InputObjectType(0) = "HybridBody"
Status = Selection.SelectElement3(InputObjectType, "Select geometrical set containing points", _
                                True, CATMultiSelTriggWhenSelPerf, False)
If (Status = "Cancel") Then Exit Sub
Set hybridbody1 = Selection.Item(1).Value

Dim Dia As String

Dia = InputBox("Radius Size in mm")
DiaMm = Dia

Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = hybridbody1.HybridShapes


For s = 1 To hybridShapes1.Count
    Dim hybridShapePointCoord1 As HybridShape
    Set hybridShapePointCoord1 = hybridShapes1.Item(s)

    Dim reference1 As Reference
    Set reference1 = Part.CreateReferenceFromObject(hybridShapePointCoord1)

    Dim hybridShapeFactory1 As Factory
    Set hybridShapeFactory1 = Part.HybridShapeFactory

    Dim hybridShapePointCoord2 As HybridShapePointCoord
    Set hybridShapePointCoord2 = hybridShapeFactory1.AddNewPointCoordWithReference(0#, 0#, 0#, reference1)
    hybridShapePointCoord2.Name = "Test"
   
   
    Dim reference2 As Reference
    Set reference2 = Part.CreateReferenceFromObject(hybridShapePointCoord2)
   
    Dim hybridShapeSphere1 As HybridShapeSphere
    Set hybridShapeSphere1 = hybridShapeFactory1.AddNewSphere(reference2, Nothing, DiaMm, -45#, 45#, 0#, 180#)
       If DiaMm = "2,5" Then
        hybridShapeSphere1.Name = "2-WSP-S"
        ElseIf DiaMm = "3,5" Then
        hybridShapeSphere1.Name = "3-WSP-S"
        Else
        End If
   
    hybridShapeSphere1.Limitation = 1
   
   
    Part.Update
Next

End Sub


Das Problem was ich nun habe ist, das er den "Test" Punkt immer unter die Sphäre hängt(Siehe Screenshot). Das soll er aber nicht tun.
Kann mir jemand sagen warum er das macht oder wie man das ändern kann.

Noch ein paar sachen die ganz nett wären wenn sie schnell umsetzbar sind  
- kann man die neuen Punkte in ein Neues Gesoset hängen oder sogar die Sphären und die Punkte in ein jewails eigenes?
- und kann man den Teil wo ich der Sphäre einen Namen gebe noch erweitern so das er eine farbe mit einstellt?

Danke im vorraus  

Gruß Josh

[Diese Nachricht wurde von joshuader6 am 28. Mai. 2014 editiert.]

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: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 28. Mai. 2014 11:31    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 joshuader6 10 Unities + Antwort hilfreich

Servus
Zum Anordnen des Punktes in einem GeoSet:
Code:
hybridbody1.AppendHybridShape hybridShapePointCoord2
Dadurch dass du beim "Appenden" unterschiedliche GeoSet angibst kann du die Elemente entsprechend anordnen.
Zum einfärben: Objekt (zB die Späre) selektieren und über VisProperties die Farbe angeben (siehe Makrorekorder, Doku oder Forensuche)

Gruß
Bernd

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

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

joshuader6
Mitglied
Technischer Produktdesigner


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

Beiträge: 17
Registriert: 06.03.2014

Catia V5R19
Inventor 2014

erstellt am: 28. Mai. 2014 12:23    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 für die schnelle Antwort 
das mit dem Appenden klappt super nur die vis properties bekomm ich net zum laufen. bzw es hängt am selektieren.
Hier mal der Part wo die Sphären generiert werden.

Code:
    Dim hybridShapeSphere1 As HybridShapeSphere
    Set hybridShapeSphere1 = hybridShapeFactory1.AddNewSphere(reference2, Nothing, DIaMm, -45#, 45#, 0#, 180#)
    hybridbody3.AppendHybridShape hybridShapeSphere1
      Dim objsel As Selection
      Set ojselect = hybridShapeSphere1
     
      If DIaMm = "2,5" Then
        hybridShapeSphere1.Name = "2-WSP-S"
        objsel.VisProperties.SetRealColor 0, 0, 255, 0
        ElseIf DIaMm = "3,5" Then
        hybridShapeSphere1.Name = "3-WSP-S"
        End If

Ich hab diverse mehtoden probiert, aber keine selektiert mir das Objekt.


Danke im Vorraus

Gruß Josh

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: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 28. Mai. 2014 12:26    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 joshuader6 10 Unities + Antwort hilfreich

Servus
Du musst das Element der Selektion hinzufügen:
Code:
      Dim objsel As Selection
      Set ojselect = Document.Selection
      ojselect.clear
      ojselect.add hybridShapeSphere1
   
      If DIaMm = "2,5" Then
        hybridShapeSphere1.Name = "2-WSP-S"
        objsel.VisProperties.SetRealColor 0, 0, 255, 0
      ElseIf DIaMm = "3,5" Then
        hybridShapeSphere1.Name = "3-WSP-S"
      End If
      ojselect.clear
Gruß
Bernd

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

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

joshuader6
Mitglied
Technischer Produktdesigner


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

Beiträge: 17
Registriert: 06.03.2014

Catia V5R19
Inventor 2014

erstellt am: 28. Mai. 2014 13:27    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

Aaaaah vielen danke jetzt läuft es aber die die visproperties Zeile ändert die Farbe nicht  weist du woran das liegen kann ?
ich hab es mit realcolor und visiblecolor versucht aber die Farbe bleibt die Standardfarbe

Danke im Vorraus
Gruß Josh

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

joshuader6
Mitglied
Technischer Produktdesigner


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

Beiträge: 17
Registriert: 06.03.2014

Catia V5R19
Inventor 2014

erstellt am: 04. Jun. 2014 08: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

Okay das hab ich nun auch gelöst bekommen.
ich musste nur das Objekt erst updaten und dann die Farbe setzen.

Aber jetzt noch eine Frage ist es möglich das man alle punkte in dem geoset auswählt auch die in geosets darunter ?

vielen dank im Vorraus

Gruß Josh

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: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Jun. 2014 08:33    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 joshuader6 10 Unities + Antwort hilfreich

Servus
Root-GeoSet selektieren und über die Suche in der Selektion nach den Punkten suchen. (Makrorekorder liefert passenden Suchstring)

Gruß
Bernd

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

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

joshuader6
Mitglied
Technischer Produktdesigner


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

Beiträge: 17
Registriert: 06.03.2014

Catia V5R19
Inventor 2014

erstellt am: 04. Jun. 2014 09: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

Okay hab ich gemacht er sucht auch richtig allerdings habe ich nun das Problem das er mir einen Type mismatch in der "set" zeile ausspuckt. 
Code:
'SetPoints
Selection.Search "CATGmoSearch.Point,sel"

Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = Selection.Item(1)


Das lieget denk ich daran, das er nicht nur Punkte sondern auch Symmetries und Intersects findet. Diese sind zwar auch punkte also ist die Selektion richtig aber ich glaube damit kommt er nicht klar.

Also kann ich die gefundenen elemente dem hybridshapes1 zuweisen ?

Gruß Josh

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: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Jun. 2014 09: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 Nur für joshuader6 10 Unities + Antwort hilfreich

Servus
Das nur bestimmte Punkte gefunden werden musst du die Suche einschränken (siehe hier).
Müsste die Zeile nicht:
Code:
Set hybridShapes1 = Selection.Item(1).value
heißen?

Gruß
Bernd

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

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

joshuader6
Mitglied
Technischer Produktdesigner


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

Beiträge: 17
Registriert: 06.03.2014

Catia V5R19
Inventor 2014

erstellt am: 04. Jun. 2014 10:12    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 habe es nochmal mit .value versucht, das bringt das selbe Resultat.
Die suche will ich nur ungerne einschränken, da es eigentlich sogar besser ist wenn es alle finded siehe screenshot.

http://imgur.com/F6NRMpc

Gruß
Josh

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: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Jun. 2014 11: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 joshuader6 10 Unities + Antwort hilfreich

Servus
Über .item(1).value wird das erste Element zurück geliefert.
Dies kann nicht vom Typ "HybridShapes" sein eher zB hybridShape oder HybridPoint

Gruß
Bernd

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

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

joshuader6
Mitglied
Technischer Produktdesigner


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

Beiträge: 17
Registriert: 06.03.2014

Catia V5R19
Inventor 2014

erstellt am: 04. Jun. 2014 19: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

Ah okay gibt es dann einen anderen Weg wie man die selection irgendwie speichern kann und dann mit einem loop jedes anzusprechen?

Gruß
Josh

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: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Jun. 2014 22:07    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 joshuader6 10 Unities + Antwort hilfreich

Servus
Zwischenspeichern musst du die Selektion nur wenn du weiter parallel wieder was selektierten oder suchen willst.
Zwischenspeichern geht über das Füllen zB eines Arrays mit den Objekten der Selektion:
Code:

selection.Search "CATGmoSearch.Point,sel"

Dim oSelArray() As Variant

ReDim oSelArray(selection.Count2)

For i = 1 To selection.Count2
      Set oSelArray(i) = selection.Item2(i).Value
Next


Gruß
Bernd

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

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)2025 CAD.de | Impressum | Datenschutz