Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  Inventor VBA
  3d Polylinie (Linie aus mehr als 2 Punkten)

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
Autor Thema:  3d Polylinie (Linie aus mehr als 2 Punkten) (3257 mal gelesen)
dechgo
Mitglied
Dipl. Ing. (FH)


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

Beiträge: 93
Registriert: 13.04.2005

Win 7 (64bit)
Inventor 2011
AutoCAD 2011
Producstream Professional Pro 2011

erstellt am: 24. Feb. 2011 10:05    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,

ich habe mich schon länger gefragt ob es in Invetor mittels VBA möglich ist direkt eine 3d Polylinie zu ergeugen.
Also eine Linie welche gleich durch mehrere Punkte definiert ist.
Meine momentane vorgehensweise ist, dass ich mittels einer Schleife 3d Linien aus 2 Punkten erzeuge wobei die Linien immer einen gemeinsamen Punkt haben...

Code:

oSketch3D.SketchLines3D.AddByTwoPoints(oPunkte3d(index - 1), oPunkte3d(index))


Die erzeugte Linie wird danach schon als zusammenhänge Kurve erkannt, also ein Sweeping entlang der erzeugten Linien ist möglich.

Das einzige Problem ist, ich habe extrem viele Punkte und das erstellen dauert leider sehr lange. Ich hatte daher gehofft, dass es so ähnlich wie mit dem erstellen eines Splines geht bei dem man alle Punkte in einer Objekt-Kollektion sammelt und dem Spline dann sagt er soll durch alle Punkte gehen...

Code:

oSketch3D.SketchSplines3D.Add(ofitpoints)

Erstellt man die Polylinie im AutoCAD ist es innerhalbt 1s erstellt, da dort die Linie komplett zusammen erstellt wird
Im Inventor kann es aber bis zu 5min dauern, da er wirklich jede Linie einzeln zeichnet. Man kann schön zuschauen wie sich nach und nach die Linien aufbauen...

Vielleicht kann man die Erstellung im Inventor beschleunigen indem man irgendwie sagt, dass er die Linien erst darstellen soll nachdem alle gezeichnet sind.
Sowas wie "ScreenUpdating" ausschalten, wie es in Excel möglich ist.

Was ich probiert habe und auch möglich ist, dass man die Polylinie in AutoCAD erstellt und diese dann in Inventor direkt in eine 3dSkizze lädt.
Ich finde das aber etwas umständlich durch das hin und her kopieren mit AutoCAD & Inventor....

Ich würde mich über Tipps und Hinweise sehr freuen

Danke im voraus
Gruss Dennis

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 25. Feb. 2011 07:01    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 dechgo 10 Unities + Antwort hilfreich

Hallo Dennis,

so was wie 'ne Polilinie gibt es in Inventor nicht. Wie gehst Du denn vor ? Machst Du für jede Linie eine separate 3D-Skizze ? Und von wievielen Punkten bzw. Linien sprichst Du, wenn das >5 Minuten dauert ?
Hast Du die Punkte aus eienr Tabelle ? Falls ja, kannst Du mal so eine Tabelle zur Verfügung stellen ?

------------------
Grüsse, Paul

Inventor-Programmierung, Inventor-Tools und Inventor API-Schulung

Meine Tochter auf Youtube

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

dechgo
Mitglied
Dipl. Ing. (FH)


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

Beiträge: 93
Registriert: 13.04.2005

Win 7 (64bit)
Inventor 2011
AutoCAD 2011
Producstream Professional Pro 2011

erstellt am: 25. Feb. 2011 14:59    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 Paul,

teilweise kann die "polyline" aus ca. 3000 Linien zusammengesetzt sein.
Ich erstelle nicht für jede einzelne Linie eine eigene 3D Skizze, das würde auch nicht funktionieren, da ich danach an der erzeugten Linie entlang sweepen muss.
Es wird eine 3d Skizze erstellt und in dieser werden die ganzen Linien erstellt wobei die Linien immer einen gemeinsamen Punkt haben. Dadruch erkennt Inventor das die Linien zusammengehören, wodurch ein späteres Sweepen möglich ist.

Ja die Punkte kommen aus einer Tabelle, ich werde mal versuchen ein vereinfachte Tabelle zur Verfügung zu stellen.

Je mehr Linien es sind (denn das variiert) umso langsamer wird Inventor. Also die ersten 100-200 Linien werden sehr schnell erstellt, aber dann wird es immer langsamer.

Das ganze dient hier auch nur zur Visualisierung. Das ist also kein wirkliches Bauteil was später gefertigt wird....

Gruss Dennis

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 28. Feb. 2011 07:50    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 dechgo 10 Unities + Antwort hilfreich

Hallo Dennis,

ich denke, dass das Problem die vielen Linien in einer einzigen 3D-Skizze sind. Dass die Performance stark nachlässt bei vielen Skizzenelementen in einer einzigen Skizze ist bekannt. So Spontan fallen mir 2 Sachen ein:

1. Vor dem Erzeugen der der Linien die View aus- udn danach wieder einblenden:

Code:

Dim oView As Inventor.View
Set oView = oApp.ActiveView
 
oView.Visible = False

' jetzt Linien erzeugen

oView.Visible = True



2. Linien auf mehrere Sketch3D verteilen:
Du kannst ein Sweep auch erstellen mit Linien die über mehrere 3D-Skizzen verteilt sind. Dieser Weg ist etwas aufwändiger, aber ich vermute, dass damit die Performance massiv besser werden wird.

Aber mal Hand auf's Herz: wenn Du diese Funktion 1x am Tag brauchst - was sind dann 5 Minuten Wartezeit (im Vergleich zur manuellen Erstellung...) ? Also wenn Du eine solche Erstellung mehrmals täglich brauchst, dann lohnt sich der Aufwand.

HTH

------------------
Grüsse, Paul

Inventor-Programmierung, Inventor-Tools und Inventor API-Schulung

Meine Tochter auf Youtube

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



Anzeige:Infos zum Werbeplatz >>

SYSCAD CAD APP für Fassadenbau, Metallbau

SYSCAD - CAD für Fenster, Türen und Fassaden SYSCAD - CAD for windows, doors and curtain wall

dechgo
Mitglied
Dipl. Ing. (FH)


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

Beiträge: 93
Registriert: 13.04.2005

Win 7 (64bit)
Inventor 2011
AutoCAD 2011
Producstream Professional Pro 2011

erstellt am: 01. Mrz. 2011 11: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 paul,

danke für den Code um die View ein und ausschalten zu können.
Damit geht es tatsächlich ein wenig schneller.

Das mit mehreren 3d Skizzen muss ich bei Gelegenheit einmal ausprobieren.

Du hast vollkommen recht wenn du sagst, dass ich die 5min warten kann. Aber da ich bei solchen Dingen etwas ungeduldig bin, kann es nie schnell genug gehen  .
Vor allem wenn man weiss das bei AutoCAD es direkt erstellt wird.
Ich habe halt gedacht es gäbe irgendeine einfache Möglichkeit Inventor dazu zu bringen, dass er es direkt auf einmal zeichnet und nicht Linie für Linie...

Aber vielen dank für deine Hilfe Paul.

Gruss Dennis

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