Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Part / Assembly
  Kugelwolke mittels Punktewolke erstellen

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:  Kugelwolke mittels Punktewolke erstellen (3044 mal gelesen)
ottfroma
Mitglied
Consultant

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

Beiträge: 7
Registriert: 15.03.2007

erstellt am: 15. Mrz. 2007 19: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

Hallo,

ich möchte mittels einer Punktewolke auf jeden Punkt eine Kugel mit Durchmesser 8mm erzeugen. Bis jetzt weiss ich nur die eine Vorgehensweise, indem ich auf jeden Punkt eine Kugel manuell erzeuge. Da ich aber mehrere Catparts mit bis zu 250 Punkte habe, die zufällig im Raum verteilt sind, gestaltet sich das doch zu einer großen Fleissarbeit.
Stichpunkt: 3D-Darstellung von Schweißpunkten im Karosseriebau.
Sollte hier sich schon jemand darüber Gedanken gemacht haben, bitte lasst es mich wissen.
Vielen Dank schon mal im voraus.

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

Thomas Harmening
Ehrenmitglied V.I.P. h.c.
Arbeiter ツ



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

Beiträge: 2897
Registriert: 06.07.2001

Nix 12)

erstellt am: 15. Mrz. 2007 19:54    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 ottfroma 10 Unities + Antwort hilfreich

erzeuge dir eine Powercopy oder Udf mit einem isolierten PT und einer Spähre und wende die 250 mal an. aber selbst manuell wäre das noch keine Fleissarbeit - da gibt es schlimmeres  ?

Alternativ schreibe ein Makro

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

ottfroma
Mitglied
Consultant

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

Beiträge: 7
Registriert: 15.03.2007

erstellt am: 15. Mrz. 2007 20: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

Hallo Thomas,

wie funktioniert das mit einem Makro, habe wenige bis keine Kenntnisse in Makroerstellung.
Mit der Powercopy oder Udf werde ich morgen gleich ausprobieren.
Danke.

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

Thomas Harmening
Ehrenmitglied V.I.P. h.c.
Arbeiter ツ



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

Beiträge: 2897
Registriert: 06.07.2001

Nix 12)

erstellt am: 16. Mrz. 2007 19: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 ottfroma 10 Unities + Antwort hilfreich

hmmm... Consultant ...

wie das mit dem Makro funktioniert?
Ich habe bislang mich noch nicht in die Makroprogrammierung unter V5 herangetraut, da mir die Oberfläche und das debuggen mir arg grausig vorkommt - (auch weil ich kein Programmierer bin).

Aber generelle Vorgehensweise:

Erstmal Aufzeichnen, 1 oder 2 Spähren erzeugen und den Quellcode analysieren und daraus lernen.
Da ich mit dem integrierten Editor nichts anfangen kann, wechsle ich auf Excel, dort in die Entwicklungsumgebung, setze meine Verweise zu den dlls und beginne mit

Code:
Sub CATMain()
Set CATIA = GetObject("", "CATIA.Application")

setze ein paar überwachungsausdrücke, damit ich weiss, welche Wert herangezogen werden und versuche dann das ganze dymamisch zu machen
Was anfänglich aufgezeichnet so ausssieht:
Code:
Sub CATMain()
Set partDocument1 = CATIA.ActiveDocument
Set part1 = partDocument1.Part
Set hybridBodies1 = part1.HybridBodies
Set hybridBody1 = hybridBodies1.Item("Geometrical Set.1")
Set hybridShapes1 = hybridBody1.HybridShapes
Set hybridShapePointCoord1 = hybridShapes1.Item("Point.1")
Set reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord1)
Set axisSystems1 = part1.AxisSystems
Set axisSystem1 = axisSystems1.Item("Absolute Axis System")
Set reference2 = part1.CreateReferenceFromObject(axisSystem1)
Set hybridShapeFactory1 = part1.HybridShapeFactory
Set hybridShapeSphere1 = hybridShapeFactory1.AddNewSphere(reference1, reference2, 20#, -45#, 45#, 0#, 180#)
hybridShapeSphere1.Limitation = 1
hybridBody1.AppendHybridShape hybridShapeSphere1
part1.InWorkObject = hybridShapeSphere1
part1.Update
Set hybridShapePointCoord2 = hybridShapes1.Item("Point.2")
Set reference3 = part1.CreateReferenceFromObject(hybridShapePointCoord2)
Set reference4 = part1.CreateReferenceFromObject(axisSystem1)
Set hybridShapeSphere2 = hybridShapeFactory1.AddNewSphere(reference3, reference4, 20#, -45#, 45#, 0#, 180#)
hybridShapeSphere2.Limitation = 1
hybridBody1.AppendHybridShape hybridShapeSphere2
part1.InWorkObject = hybridShapeSphere2
part1.Update
End Sub

und kann am Ende so aussehen
Code:
Sub CATMain()
Set CATIA = GetObject("", "CATIA.Application")
Dim myPartDocument As Document

Set myPartDocument = CATIA.ActiveDocument
Set myPart = myPartDocument.Part
Set myAxis = myPart.CreateReferenceFromObject(myPart.AxisSystems.Item("Absolute Axis System")) 'Axis mit dem Namen erforderlich

Set myHybridBodies = myPart.HybridBodies.Add()
    myHybridBodies.Name = "Spähren"
Set mySelection = CATIA.ActiveDocument.Selection
   
    Anzahl = mySelection.Count
        For i = 1 To Anzahl
            Set Pt = mySelection.Item(i).Value
            Set myhybridShapeFactory = myPart.HybridShapeFactory
            Set myhybridShapeSphere = myhybridShapeFactory.AddNewSphere(Pt, myAxis, 4, -45, 45, 0, 180)
                myhybridShapeSphere.Limitation = 1
                myHybridBodies.AppendHybridShape myhybridShapeSphere
                myPart.InWorkObject = myhybridShapeSphere
        Next
    myPart.Update
End Sub


nun nur noch Zeile 2 und 3 verändern und es ist als *.catvbs lauffähig.
AktiveAxis muss so lauten ->Absolute Axis System
alle Punkte auswählen und makrostarten,
die Spähren werden in einem neuen Geoset angelegt.

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

ottfroma
Mitglied
Consultant

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

Beiträge: 7
Registriert: 15.03.2007

erstellt am: 28. Mrz. 2007 20:54    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 Thomas,

habe das Makro ausprobiert und das hat toll funktioniert.

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

figther-mom
Mitglied



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

Beiträge: 37
Registriert: 31.03.2008

erstellt am: 03. Apr. 2008 11:06    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 ottfroma 10 Unities + Antwort hilfreich

Hab es so gemacht, aber was muss den in Zeile 2 und 3 noch verändert werden?

------------------
Danke schon mal!

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

Thomas Harmening
Ehrenmitglied V.I.P. h.c.
Arbeiter ツ



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

Beiträge: 2897
Registriert: 06.07.2001

Nix 12)

erstellt am: 05. Apr. 2008 12: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 Nur für ottfroma 10 Unities + Antwort hilfreich

da ich scripte mangels einem VB-Editor immer über excel teste

Code:
Sub CATMain()
'Set CATIA = GetObject("", "CATIA.Application") wird nur von excel benötigt
Dim myPartDocument 'As Document die Deklarierung kann auch weg 

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