Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Punkte verbinden

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: Germar Nikol - Der Visionär hinter der Erfolgsgeschichte, eine Pressemitteilung
Autor Thema:  Punkte verbinden (3301 mal gelesen)
wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 09. Mrz. 2010 14: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

Hallo,
ich habe noch mal eine Frage Ich habe eine große Menge von Punkten, die ich mit geraden Linien verbinden möchte. Benutze ich eine oder mehrere Polyline stürzt CATIA ab.
Ich verwende CATVBA. Gibt es eine Möglichkeit so viele Punkte miteinander zu verbinden, ohne den Rechner abstürzen zu lassen?
Anbei ist mein Beispielcode.


Code:
Sub SubTest()
    Dim Document1 As Document
    Set Document1 = CATIA.ActiveDocument
    Dim TestPart As Part
    Set TestPart = Document1.Part
    Dim hybridBody1 As HybridBody
    Set hybridBody1 = TestPart.HybridBodies.Add()
    Dim hybridShapeFactory1 As Factory
    Set hybridShapeFactory1 = TestPart.HybridShapeFactory
    For k = 1 To 100
        Set hybridShapePolyline1 = hybridShapeFactory1.AddNewPolyline()
        For i = 1 To 100
            Set Point = hybridShapeFactory1.AddNewPointCoord(i, i, i)
            Set reference1 = TestPart.CreateReferenceFromObject(Point)
            hybridShapePolyline1.InsertElement reference1, i
        Next
        hybridBody1.AppendHybridShape hybridShapePolyline1
    Next
    TestPart.Update
End Sub

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: 09. Mrz. 2010 15:08    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 wulfgang 10 Unities + Antwort hilfreich

Servus
Pack mal das Update in die erste For-next-Schleife ein (bzw öfters zwischendurch). Dann sollte es länger laufen

Gruß
Bernd

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

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 09. Mrz. 2010 16:09    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

Jo danke, hat schon etwas geholfen. Dauert aber immer noch gefühlte Ewigkeiten . Gibt es vielleicht noch einen Trick?

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 09. Mrz. 2010 19: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 Nur für wulfgang 10 Unities + Antwort hilfreich

Hallo,

kannst evtl. versuchen nach Set Point1 die Anweisung Point1.Compute einzufügen und den Update nur in der äußeren Schleife drinlassen.

Allerdings: Die Schleife und der Update wird insgesamt 100*100=10000-mal durchgelaufen. Das brauch natürlich sein Zeit.
Vielleicht streikt CATIA sogar, weil der Speicherbedarf plötzlich zu groß wird.
Ist wirklich die komplette Schleife notwendig, beide verschachtelt? Ich sehe nur da eine Möglichkeit.

Gruß,
Zoltan

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

wulfgang
Mitglied



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

Beiträge: 64
Registriert: 29.04.2007

CATIA V5 R18

erstellt am: 09. Mrz. 2010 22:45    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

Also ich habe alle drei Varianten durchprobiert. Dies war bei mir mit 1min die schnellste. Die anderen Varianten mit Point.compute und Testpart.update nach außen sind jeweils 10s langsamer. Zwei Schleifen habe ich deshalb genommen, weil wenn ich alle Punkte in ein Polygon packe, der Rechner immer abstürzte und ich mal probieren wollte, ob man 10000Punkte miteinander verbinden kann.
Code:
Sub SubTest()
    Dim Document1 As Document
    Set Document1 = CATIA.ActiveDocument
    Dim TestPart As Part
    Set TestPart = Document1.Part
    Dim hybridBody1 As HybridBody
    Set hybridBody1 = TestPart.HybridBodies.Add()
    Dim hybridShapeFactory1 As Factory
    Set hybridShapeFactory1 = TestPart.HybridShapeFactory
    For k = 1 To 100
        Set hybridShapePolyline1 = hybridShapeFactory1.AddNewPolyline()
        For i = 1 To 100
            Set Point = hybridShapeFactory1.AddNewPointCoord(i, i, i)
            Set reference1 = TestPart.CreateReferenceFromObject(Point)
            hybridShapePolyline1.InsertElement reference1, i
        Next
        hybridBody1.AppendHybridShape hybridShapePolyline1
        TestPart.Update
    Next
   
End Sub

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