Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  polyline aus vorhandenen punkten 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:  polyline aus vorhandenen punkten erstellen (1868 mal gelesen)
sashlanger
Mitglied
BA-Student


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

Beiträge: 31
Registriert: 17.01.2005

V5 R16

erstellt am: 15. Jul. 2005 09: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

Hallo,

ich bin vb-anfänger und bräuchte mal ein bissle Hilfe. Ich habe in einem Part 11 Punkte die z.B. Extremum1, Extremum2 usw heißen. Es ist ein Parameter mit dem Wert 11 vorhanden der die Anzahl der Punkte steuert. Ich möchte nun in einem VBSkript diesen Wert des Parameters auslesen und dann die sich ergebende Anzahl an Punkten zu einer Polyline verbinden. Kann mir da jemand helfen wie ich anfange?
Wie lese ich das aktuelle Part ein, wie lese ich den Parameter ein und wie finde ich in einer for-Schleife die Punkte aus dem Part und wie erstelle ich daraus dann die Polyline??

Wär echt super wenn Ihr mir helfen könntet...

MfG

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

MaxZ
Mitglied
Computer Aided Designer


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

Beiträge: 125
Registriert: 24.05.2005

erstellt am: 15. Jul. 2005 09: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 Nur für sashlanger 10 Unities + Antwort hilfreich

Hallo,

probier mal folgenden code:

Sub CATMain()
  Set partDocument1 = CATIA.ActiveDocument
  Set part1 = partDocument1.Part
  Set parameters1 = part1.Parameters
  Set intParam1 = parameters1.Item("AnzahlPunkteParameter")
  num_points = intParam1.Value
  Set hybridShapeFactory1 = part1.HybridShapeFactory
  Set hybridShapePolyline1 = hybridShapeFactory1.AddNewPolyline()
  Set hybridBodies1 = part1.HybridBodies
  Set hybridBody1 = hybridBodies1.Item("OpenBody.1")
  Set hybridShapes1 = hybridBody1.HybridShapes
  For i = 1 To num_points
    Set hybridShapePointCoord1 = hybridShapes1.Item("Extremum" & i)  
    Set reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord1)   
    hybridShapePolyline1.InsertElement reference1, i
  Next i
  hybridShapePolyline1.Closure = False
  hybridBody1.AppendHybridShape hybridShapePolyline1
  part1.InWorkObject = hybridShapePolyline1
  part1.Update
End Sub

"OpenBody.1" und "AnzahlPunkteParameter" musst du halt noch an
deine Namen anpassen, dann müssts laufen.

Ciao
Max

[Diese Nachricht wurde von MaxZ am 15. Jul. 2005 editiert.]

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

sashlanger
Mitglied
BA-Student


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

Beiträge: 31
Registriert: 17.01.2005

V5 R16

erstellt am: 15. Jul. 2005 09: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


fehler1.JPG

 
erstmal vielen Dank für die super schnelle Antwort.

ich habe den source jetzt so angepasst:

Language="VBSCRIPT"

Sub CATMain()
  Set partDocument1 = CATIA.ActiveDocument
  Set part1 = partDocument1.Part
  Set parameters1 = part1.Parameters
  Set intParam1 = parameters1.Item("Anzahl_der_Punkte_br")
  num_points = intParam1.Value
  Set hybridShapeFactory1 = part1.HybridShapeFactory
  Set hybridShapePolyline1 = hybridShapeFactory1.AddNewPolyline()
  Set hybridBodies1 = part1.HybridBodies
  Set hybridBody1 = hybridBodies1.Item("Beruehrpunkte_bonnet_rear")
  Set hybridShapes1 = hybridBody1.HybridShapes
  For i = 1 To num_points
    Set hybridShapePointCoord1 = hybridShapes1.Item("beruehrpunkt_br." & i) 
    Set reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord1)   
    hybridShapePolyline1.InsertElement reference1, i
  Next i
  hybridShapePolyline1.Closure = False
  hybridBody1.AppendHybridShape hybridShapePolyline1
  part1.InWorkObject = hybridShapePolyline1
  part1.Update
End Sub

leider bekomme ich ne Fehlermeldung, siehe screenshot. Mir sagt das nicht wirklich viel, aber ich probier mal ein bissle rum. Vielen Dank auf jeden Fall...

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

MaxZ
Mitglied
Computer Aided Designer


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

Beiträge: 125
Registriert: 24.05.2005

erstellt am: 15. Jul. 2005 09: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 sashlanger 10 Unities + Antwort hilfreich

ah, okay!

dann versuch:

Language="VBSCRIPT"

Sub CATMain()
  Set partDocument1 = CATIA.ActiveDocument
  Set part1 = partDocument1.Part
  Set parameters1 = part1.Parameters
  Set intParam1 = parameters1.Item("Anzahl_der_Punkte_br")
  num_points = intParam1.Value
  Set hybridShapeFactory1 = part1.HybridShapeFactory
  Set hybridShapePolyline1 = hybridShapeFactory1.AddNewPolyline()
  Set hybridBodies1 = part1.HybridBodies
  Set hybridBody1 = hybridBodies1.Item("Beruehrpunkte_bonnet_rear")
  Set hybridShapes1 = hybridBody1.HybridShapes
  For i = 1 To num_points
    Set hybridShapePointCoord1 = hybridShapes1.Item("beruehrpunkt_br." & i) 
    Set reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord1)   
    hybridShapePolyline1.InsertElement reference1, i
  Next
  hybridShapePolyline1.Closure = False
  hybridBody1.AppendHybridShape hybridShapePolyline1
  part1.InWorkObject = hybridShapePolyline1
  part1.Update
End Sub

next braucht im vbscript die laufvariable nicht, in vba schon.

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

sashlanger
Mitglied
BA-Student


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

Beiträge: 31
Registriert: 17.01.2005

V5 R16

erstellt am: 15. Jul. 2005 10:04    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


fehler2.JPG

 
ja eigentlich wollte ich das ganze auch in vba machen, aber irgendwie bekomm ich es nicht auf die Reihe das ganze im VBA zu editieren. Ich glaube ich muss mir erstmal ne Grundeinweisung geben lassen. Wenn Dein Source für VBA gedacht war dann probier ich das lieber mal hinzukriegen damit Du nicht noch mehr Arbeit hast, in VB kommt nämlich noch ein Fehler (s. Screenshot), hatte das i sogar mal selbstständig hinter dem next gelöscht ;-)

Also vielen Dank nochmal...

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

MaxZ
Mitglied
Computer Aided Designer


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

Beiträge: 125
Registriert: 24.05.2005

erstellt am: 15. Jul. 2005 10: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 sashlanger 10 Unities + Antwort hilfreich

das dürfte die Zeile sein in der der OpenBody gewählt wird.
wenn ichs laufen lass funktionierts bei mir.
liegt dein Openbody ein einem anderen Körper?
falls ja dürfts daran liegen und der fehler auch in VBA
auftauchen. ; )

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

sashlanger
Mitglied
BA-Student


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

Beiträge: 31
Registriert: 17.01.2005

V5 R16

erstellt am: 15. Jul. 2005 10: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

ahaaaaaaa, jau da is noch ein anderer body drüber. ich dachte der durchsucht irgendwie alle Ebenen nach dem Body weil es sich in der Online-Hilfe auch so anhört. dann schau ich mal nach wie ich eine Ebene tiefer komme ;-)

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

MaxZ
Mitglied
Computer Aided Designer


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

Beiträge: 125
Registriert: 24.05.2005

erstellt am: 15. Jul. 2005 10: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 Nur für sashlanger 10 Unities + Antwort hilfreich

kleiner tip:

die zeile:
Set hybridBodies1 = part1.HybridBodies

durch die:
Set bodies1 = part1.Bodies
Set body1 = bodies1.Item("MainBody")
Set hybridBodies1 = body1.HybridBodies


ersetzten und wieder namen anpassen

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

sashlanger
Mitglied
BA-Student


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

Beiträge: 31
Registriert: 17.01.2005

V5 R16

erstellt am: 15. Jul. 2005 10:42    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

super geil, es funktioniert. danke danke danke

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