Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Aus Punkten Spline erzeugen

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:  Aus Punkten Spline erzeugen (1106 mal gelesen)
HOnKeY
Mitglied



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

Beiträge: 20
Registriert: 23.01.2006

erstellt am: 31. Jan. 2006 16:15    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,
folgendes Problem.
Ich habe in einer excel Tabelle eine Anzahl von Punkten.
Diese Punkte sollen nun eingelesen werden und im Skizierer auf eine beliebige Ebene eingefügt werden. Das ist alles kein Problem, aber wie bekomme ich nun einen Spline aus den erzeugten Punkten.
VB meckert rum, dass es die Methode CreateSpline von Spline2D nicht kennt und im catvbs will er zum erzeugen des Splines ein iPoles As SAFEARRAY(VARIANT) haben.
Es gibt doch sicherlich schon fertige Progrämmchen, die aus Punkten einen Spline erzeugen.
Hier mal wie weit ich gekommen bin. Ist bis zur Spline-erzeugung alles CatiaMakrorekorder.
Fehlt bloß dieses iPoles As SAFEARRAY(VARIANT).
Code:

Set partDocument1 = CATIA.ActiveDocument

Set part1 = partDocument1.Part

Set bodies1 = part1.Bodies

Set body1 = bodies1.Item("Hauptkörper")

Set sketches1 = body1.Sketches

Set originElements1 = part1.OriginElements

Set reference1 = originElements1.PlaneZX

Set sketch1 = sketches1.Add(reference1)

Dim arrayOfVariantOfDouble1(8)
arrayOfVariantOfDouble1(0) = 0.000000
arrayOfVariantOfDouble1(1) = 0.000000
arrayOfVariantOfDouble1(2) = 0.000000
arrayOfVariantOfDouble1(3) = -1.000000
arrayOfVariantOfDouble1(4) = 0.000000
arrayOfVariantOfDouble1(5) = 0.000000
arrayOfVariantOfDouble1(6) = 0.000000
arrayOfVariantOfDouble1(7) = 0.000000
arrayOfVariantOfDouble1(8) = 1.000000
sketch1.SetAbsoluteAxisData arrayOfVariantOfDouble1

part1.InWorkObject = sketch1

Set factory2D1 = sketch1.OpenEdition()

' Hier muss iPoles As SAFEARRAY(VARIANT) rein
Set Spline2D1 = factory2D1.CreateSpline()
 
Set Point2D1 = factory2D1.CreatePoint(10, 10)
Set Spline2D1.StartPoint = Point2D1
 
Set Point2D1 = factory2D1.CreatePoint(20, 20)
Call Spline2D1.InsertControlPointAfter(Point2D1, 1)
 
Set Point2D1 = factory2D1.CreatePoint(30, 30)
Set Spline2D1.EndPoint = Point2D1


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



Pflichtpraktikum - Gebäudemanagement / Facility Management & Energieversorgungskonzepte - REF54013M

Continental entwickelt wegweisende Technologien und Dienste für die nachhaltige und vernetzte Mobilität der Menschen und ihrer Güter. Das 1871 gegründete Technologieunternehmen bietet sichere, effiziente, intelligente und erschwingliche Lösungen für Fahrzeuge, Maschinen, Verkehr und Transport. Continental erzielte 2022 einen Umsatz von 39,4 Milliarden Euro und beschäftigt aktuell rund 200.000 Mitarbeiterinnen und Mitarbeiter in 57 Ländern und Märkten....

Anzeige ansehenGebäude-, Versorgungs-, Sicherheitstechnik
cad-Carsten
Mitglied



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

Beiträge: 13
Registriert: 18.07.2005

erstellt am: 31. Jan. 2006 17:13    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 HOnKeY 10 Unities + Antwort hilfreich

Hallo,

hier ein Ausschnitt aus einem aufgezeichneten Makro (R14). Vielleicht hilft dir das weiter.

Code:

...
Dim controlPoint2D3 As ControlPoint2D
Set controlPoint2D3 = factory2D1.CreateControlPoint(x,y)

Dim arrayOfObject1(2)  'VARIANT !
Set arrayOfObject1(0) = controlPoint2D1
Set arrayOfObject1(0) = controlPoint2D2
...

Set factory2D1Variant = factory2D1
Set spline2D1 = factory2D1Variant.CreateSpline(arrayOfObject1)



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