Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor .NET
  Profile aus Sketch für ExtrudeFeature auswählen

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
Autor Thema:  Profile aus Sketch für ExtrudeFeature auswählen (1847 mal gelesen)
WilliamSpiderWeb
Mitglied
Dipl.-Ing. (FH) Physikalische Technik


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

Beiträge: 96
Registriert: 09.01.2012

DELL Precision 3620
Core i7-6900K @ 4,00 GHz
16,00GB RAM
Grafik: AMD FirePro W5100
---
Win7 Pro 64bit SP1
---
Inventor Professional 2021
Vault Workgroup 2021
Visual Basic .NET 2010 Express
... dabei seit Inventor 5

erstellt am: 30. Jul. 2012 15:28    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 möchte über die Inventor API eine Extrusion in meinem Bauteil erzeugen.
Ist in der aktiven ipt eine Skizze mit nur einem Profil (z.B. ein Kreis) vorhanden, kann ich mit meinem Code ohne Probleme eine Extrusion erzeugen.
Befinden sich in der Skizze aber zwei Profile (z.B. ein Kreis innerhalb eines Rechtecks), stürzt mein Code ab, da die API nicht weiß, welches Profil extrudiert werden soll.
Und ich weiß nicht, wie ich der API sagen soll, welches Profil gewählt werden soll. Hat da einer eine Idee zu?

Ich glaube, zu wissen, dass ich etwas mit meiner Variable oprofile machen muss, nur was ist das große Geheimnis.

Mein Code zum Extrudieren

Code:

    Private Function newExtrudeDist(ByRef partdoc As PartDocument, ByRef sketch As PlanarSketch, ByVal Distance As Double) As ExtrudeFeature
        Dim Ext As Inventor.ExtrudeFeature
        Dim Direction As Inventor.PartFeatureExtentDirectionEnum = PartFeatureExtentDirectionEnum.kPositiveExtentDirection
        Dim oprofil As Inventor.Profile = sketch.Profiles.AddForSolid(False)
        If Distance < 0 Then
            Distance = Distance * -1
            Direction = PartFeatureExtentDirectionEnum.kNegativeExtentDirection
        End If
        Ext = partdoc.ComponentDefinition.Features.ExtrudeFeatures.AddByDistanceExtent(oprofil, Distance, _
              Direction, PartFeatureOperationEnum.kJoinOperation)
        Return Ext
    End Function

Viele Grüße

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 30. Jul. 2012 18: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 WilliamSpiderWeb 10 Unities + Antwort hilfreich

Hallo

Wenn das Programm nicht hellsehen kann, muß der User ran. Benutze doch dich Pick-Methode:

Code:
Dim oprofil As Object
Set oprofil = ThisApplication.CommandManager.Pick(kSketchProfileFilter, "Pick a profile")

------------------
MfG
Ralf

[Diese Nachricht wurde von rkauskh am 30. Jul. 2012 editiert.]

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

WilliamSpiderWeb
Mitglied
Dipl.-Ing. (FH) Physikalische Technik


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

Beiträge: 96
Registriert: 09.01.2012

DELL Precision 3620
Core i7-6900K @ 4,00 GHz
16,00GB RAM
Grafik: AMD FirePro W5100
---
Win7 Pro 64bit SP1
---
Inventor Professional 2021
Vault Workgroup 2021
Visual Basic .NET 2010 Express
... dabei seit Inventor 5

erstellt am: 31. Jul. 2012 16:22    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 Ralf,

danke für den Hinweis.
Nachdem ich Deine Code-Zeile eingebaut habe, hab ich auch verstanden, was sie tut.
Ich möchte mein Bauteil allerdings automatisiert aufbauen lassen.
Deshalb die Frage, ob ich über die Inventor API ein Profil aus mehreren Profilen einer Skizze auswählen kann.
Wenn das nicht gehen sollte, muss ich wohl oder übel, meine Profile in unterschiedliche Skizzen packen und nacheinander extrudieren (mal positive, mal negative Richtung).

Viele Grüße,
Alexander

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 31. Jul. 2012 17: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 WilliamSpiderWeb 10 Unities + Antwort hilfreich

Hallo

Das geht natürlich auch. oprofil ist bei mehreren Skizzenelementen eher mit einer Sammlung von Profilen vergleichbar. Über

Code:
oprofil.count

kannst du sehen wie viele Profile erzeugt wurden und über

Code:
oprofil.Item(xxx)

kommst du an jedes der erzeugten Profile heran. Die Quizfrage ist, wie du das von dir gewünschte herausfilterst. Wäre es aus deinem Beispiel immer der innere Kreis, könnte man prüfen welches der Profile nur aus einer SketchEntity besteht und ob die SketchEntity ein Kreis ist und möglicherweise sogar mit einem Durchmesser XYZ. Aber ohne ein eindeutiges Filterkriterium wird's nix.

------------------
MfG
Ralf

[Diese Nachricht wurde von rkauskh am 31. Jul. 2012 editiert.]

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

WilliamSpiderWeb
Mitglied
Dipl.-Ing. (FH) Physikalische Technik


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

Beiträge: 96
Registriert: 09.01.2012

DELL Precision 3620
Core i7-6900K @ 4,00 GHz
16,00GB RAM
Grafik: AMD FirePro W5100
---
Win7 Pro 64bit SP1
---
Inventor Professional 2021
Vault Workgroup 2021
Visual Basic .NET 2010 Express
... dabei seit Inventor 5

erstellt am: 01. Aug. 2012 11:22    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

Danke Ralf,

genau so, wie Du's geschrieben hast, ist es.
Ich erstelle eine Skizze mit mehrere Profilen (egal ob Kreise, Rechtecke o.ä.), wobei immer ein einziges Profil die übrigen umschließt. Das heißt, im Endeffekt möchte ich genau dieses "durchlöcherte" Profil extrudieren.

Werd' mich später ran setzen, um prüfen, ob ich die Befehle einsetzen kann.

Viele Grüße,
Alexander

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 01. Aug. 2012 16:34    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 WilliamSpiderWeb 10 Unities + Antwort hilfreich

Hallo

Dazu nimmst du die Pick-Methode wieder raus und ersetzt sie durch deinen ehemaligen Code. Damit erzeugst du oprofil mit x Profilpfaden. Danach in einer for each Schleife durch alle Profilpfade laufen. Untersuche bei allen Profilpfaden die Geometrie der Segmente. Ist z.B. dein umschreibendes Rechteck immer gleich groß, könnte man die Länge der LineSegmente prüfen. Liegt einer der Eckpunkte im Ursprung müßte einer der LineSegmentEdnpunkte die Koordinaten 0,0 haben usw. Bei allen Profilpfaden die nach Prüfung nicht dein umschreibendes Rechteck beinhalten, setzt du den Wert "AddsMaterial" auf False. Die Profile dürfen sich nicht überschneiden, sonst ignoriert Inventor sie. Keine Ahnung warum, aber es funktioniert nicht.

------------------
MfG
Ralf

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570
Laptop: Alienware m17x
Win7, Inventor2012

erstellt am: 01. Aug. 2012 16:39    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 WilliamSpiderWeb 10 Unities + Antwort hilfreich

Hi, wenn du doch selbst die Skizze und die Profile erstellst, dann wirst du wohl wissen welches Profil du extrudieren möchtest (du erstellst es ja schließlich). Dann leg dir doch einfach die Profile die du extrudieren möchtest in eine Variable ab, und benutze die später für die Extrusion.

------------------
Grüße Igor

FX64 Software Solutions - Inventor Tools
FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor

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