Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Linie 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:  Linie erzeugen (1324 mal gelesen)
sawah
Mitglied



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

Beiträge: 65
Registriert: 07.06.2011

XP, CATIA V5 R19

erstellt am: 07. Jun. 2011 11: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

Hallo zusammen,

Hallo zusammen
ich habe die Suche schon misbrucht aber nicht so recht das richtige gefunde, und zwar ich habe ein Code zu erzeugen von Punkte, ich will das erweitern das ich eine Linie durch diese Punt erzeugen kann.
kriegs aber net hin.
Vielleicht kann mir ja mal wer helfen

Danke dafür im Vorraus

Gruß

Code:
Sub CATMain()

' Fehlerroutine --------------------------------------------
    On Error Resume Next
    CATIA.DisplayFileAlerts = False
    Set activedoc = CATIA.ActiveDocument
If Err.Number <> 0 Then
    MsgBox "es ist kein Dokument geöffnet", 16
Exit Sub
End If
    Set activedoc = CATIA.ActiveDocument
If (Right(activedoc.Name, 7) <> "CATPart" And Right(activedoc.Name, 10) <> "CATProduct") Then
    MsgBox "Aktives Dokument ist kein Bauteil oder keine Baugruppe", 16
Exit Sub
End If

' Excel öffnen --------------------------------------------

    Dim Excel As application
    Dim WB
    Dim WS
    Set WB = GetObject("u:\aufgabe_Punkt.xls")
    WB.application.Visible = True
    WB.Parent.Windows(1).Visible = True
    Set WS = WB.Worksheets.Item(1)                                  ' Tabelle holen
   
' aktives part holen --------------------------------------------

  Set Part1 = CATIA.ActiveDocument.Part
  Set partDocument1 = CATIA.ActiveDocument
  Set HybShapeFac = Part1.HybridShapeFactory                        'factory zu erstellen der Punkte
  Set HKoerper = CATIA.ActiveDocument.Part.HybridBodies            'hauptkörper holen zum einfügen der Punkte
  Set measurement_points = HKoerper.Add                            'Geoset einfügen
      measurement_points.Name = "Messpunkte"                        'benennen
     
' Exceltabelle ablesen --------------------------------------------

  nRow = 2                                                          'ab Zeile 2 Zeile der Tabelle einlesen
  Do                                                                'lesen bis EOF
                                                                    ' Spalte 1 = Name // Spalte 2,3,4 = Werte
    Element = (WS.Cells(nRow, 1).Value)
    XCoord = CDbl(WS.Cells(nRow, 2).Value)
    YCoord = CDbl(WS.Cells(nRow, 3).Value)
    ZCoord = CDbl(WS.Cells(nRow, 4).Value)
   
' Punkte eintragen --------------------------------------------

    Set hybridShapeFactory1 = Part1.HybridShapeFactory
    Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(XCoord, YCoord, ZCoord)

    measurement_points.AppendHybridShape hybridShapePointCoord1    ' Punkt einfügen
    hybridShapePointCoord1.Name = Element                          ' Punkt benennen
        nRow = nRow + 1                                            ' Zeile hochzählen
Loop While (WS.Cells(nRow, 2).Text <> "")                          ' Schleife verlassen, wenn Zelle leer ist

    Part1.Update              ' Part aktualisieren
 
End Sub


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

Starbirth
Mitglied
Konstrukteur


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

Beiträge: 119
Registriert: 22.10.2009

erstellt am: 07. Jun. 2011 13: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 Nur für sawah 10 Unities + Antwort hilfreich

Die HybridShapeFactory hast du ja schon. Der Rest ist eine Frage des richtigen Begriffes.

Wie ich vorgehen würde:
Die Gewünschte Linie per Hand erzeugen und dabei den Makrorecorder mitlaufen lassen.
Danch wühlst du dich durch den Code bis du etwas siehst wie "HybridShapeFactory.AddNewLinePtPt" (für eine Gerade von Punkt zu Punkt) der Abschnitt hinter "Line" kann je nach Art der Linienerzeugung variieren. Evtl siehst du auch etwas wie "AddNewSpline" falls du statt einer Geraden einen Spline durch die Punkte gezogen hast.

Immerhin hast du damit den Befehl den du brauchst. Entweder du verstehst diesen komplett anhand des durch den Recorder erzeugten Codes oder du wirfst noch schnell einen Blick in die V5Automation.chm in der fast alle dieser Befehle beschrieben sind.

Mit dem was du dann weisst solltest du eigentlich die Linie erzeugen können.

Sollte das nicht zum Ergebnis führen, teile uns bitte noch mit wie viele Punkte du erzeugst und welche Art von Linie du durch diese Punkte legen willst. (Ich würde ja raten: Ganz viele und ein Spline?)

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

sawah
Mitglied



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

Beiträge: 65
Registriert: 07.06.2011

XP, CATIA V5 R19

erstellt am: 07. Jun. 2011 15: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

Hi.
Danke für die Antwort, so einfach  geht net.
Gruß

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