| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY baut sein Angebot für den Vertrieb von NVIDIA Software-Angeboten für Reseller und professionelle Anwender aus |
Autor
|
Thema: Unregelmäßige Anordnung (798 / mal gelesen)
|
HawK.2k7 Mitglied
Beiträge: 18 Registriert: 13.07.2017 Win10 Enterprise DELL Precision 5530 Intel i7-8850H 16 Gb RAM nVidia Quadro P1000 Inventor 2018.2.3
|
erstellt am: 25. Aug. 2022 08:15 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen zusammen, ich möchte in meiner Masterdatei, wie in dem Bild zu sehen, an jedem dieser Schnittpunkte ein Oval platzieren. Dieses Oval soll mit seinem Mittelpunkt auf dem Schnittpunkt liegen und mit der Mittelachse tangential an der "Spirale". Von Hand alles kein Problem, nur sind es je nach Teil bis zu 200 Ovale. Aus dieser Masterdatei erstelle ich anhand dieser Skizze 4-5 weitere Bauteile. Diese benötigen aber alle unterschiedliche Größen der Ovale, weshalb ich bis dato ein Skizzenblock mit den verschiedenen Ovalen platziert habe. Dies führt natürlich zu enormen Performance einbüßen beim späteren extrudieren. Hat jemand von euch eine Idee oder einen Ansatz, dem ich mal nachgehen kann um das ganze Spiel zu vereinfachen ? MfG HawK ------------------ MfG HawK Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lothar Boekels Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau und CAD-Trainer
Beiträge: 3823 Registriert: 15.02.2001 DELL Precision 7520 Win10Pro-64 Inventor mit Vault Professional 2024 --------------------- Während man es aufschiebt, verrinnt das Leben. Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)
|
erstellt am: 25. Aug. 2022 08:48 <-- editieren / zitieren --> Unities abgeben: Nur für HawK.2k7
|
HawK.2k7 Mitglied
Beiträge: 18 Registriert: 13.07.2017 Win10 Enterprise DELL Precision 5530 Intel i7-8850H 16 Gb RAM nVidia Quadro P1000 Inventor 2018.2.3
|
erstellt am: 25. Aug. 2022 10:47 <-- editieren / zitieren --> Unities abgeben:
Da hatte ich schon dran gedacht, sofern alle anderen Stricke reißen müsste ich das auch mal so probieren. Die Skizze in meinem ersten Beitrag ist auch vereinfacht dargestellt, d.h. es wären viele verschiedene Fälle abzufangen. Das erste Setzen der Blöcke an den Schnittpunkten von Hand ist nicht schön aber wäre vertretbar. Größere Probleme bereiten mir die nachfolgenden Bauteile, dadurch dass die Größe der Ovale immer variiert. ------------------ MfG HawK Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roland Schröder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13310 Registriert: 02.04.2004 IV 2019 + 2020 + 2021 W7pro64 F-Secure-Safe Dell-M4600 2,13GHz 12GB Quadro2000M 15,4"1920x1080 MS-IntelliMouse-Optical SpacePilotClassic
|
erstellt am: 25. Aug. 2022 10:57 <-- editieren / zitieren --> Unities abgeben: Nur für HawK.2k7
Zitat: Original erstellt von HawK.2k7: ...bis zu 200 Ovale...4-5 weitere Bauteile...alle unterschiedliche Größen...
Das klingt gewagt, und es wird aus der bisherigen Erklärung nicht recht klar, was wo wie sehr veränderlich ist. Ist denn z. B. die Größe der Ovale in einer Anordnung gleich oder nicht? Und ist die Anzahl der Ovale in einer Anordnung gleichbleibend oder soll sie parametrisch veränderbar sein? Oft ergibt sich ein guter Lösungsweg fast von allein durch wirklich gründliche Analyse der Aufgabe, z. B. auch zum Zweck einer für Andere verständlichen Darstellung. Im Allgemeinen ist die Anordnung von vielen Extrusionsprofilen in einer Skizze weniger performant als die Anordnung der ersten Extrusion im 3D. Abgesehen davon ist es nicht möglich, durch Parameter in Skizzen hinzukommende Profile automatisch für die Extrusion mit zu wählen. Was mir dazu als eventuell nützlich einfällt ist die Anordnung am Pfad mit Entfernungsparameter. Das erfordert für jedes Exemplar eine eigene Anordnung á 2 St. mit Entfernungsparameter, aber damit kannst Du dann für jedes Exemplar den Ort auf dem Pfad (der Spirale) genau festlegen, und die tangentiale Ausrichtung am Pfad ist schon gegeben (= halb so viel Mathe). Aber auch damit lässt sich die Anzahl der extrudierten Element nicht rein parametrisch steuern. Es müsste ein Code her, der zusätzliche Anordnungen erzeugt. Oder Du legst die größte Anzahl Anordnungen schon an und unterdrückst die nicht benötigten parametrisch. Aber ob das bei 200 Exemplaren noch praktikabel ist, mag ich nicht entscheiden. ------------------ Roland www.Das-Entwicklungsbuero.de It's not the hammer - it's the way you hit! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HawK.2k7 Mitglied
Beiträge: 18 Registriert: 13.07.2017 Win10 Enterprise DELL Precision 5530 Intel i7-8850H 16 Gb RAM nVidia Quadro P1000 Inventor 2018.2.3
|
erstellt am: 25. Aug. 2022 11:18 <-- editieren / zitieren --> Unities abgeben:
Zitat: Ist denn z. B. die Größe der Ovale in einer Anordnung gleich oder nicht?
Ja, die Position ist immer die gleiche wie sie in der Masterskizze festgelegt ist. Die Größe ist für jede Anordnung(Bauteil) auch gleich. Zitat: Abgesehen davon ist es nicht möglich, durch Parameter in Skizzen hinzukommende Profile automatisch für die Extrusion mit zu wählen.
aktuell ist es so, dass mein Block alle verschiedenen Ovale beinhaltet. Ich wähle mir dann im jeweiligen Bauteil nur die Kontur aus die benötige. Problem hierbei ist, dass ich immer nur Schnittmengen bekomme und sich die Konturen die auszuwählen sind nochmal vervielfachen: Zitat: parametrisch steuern
Es muss auch nicht voll Parametrisch steuerbar sein, ich denke das wäre für meinen Fall etwas zu viel gewollt. ich denke austauschbar wäre das bessere Wort... was mich zu folgender Frage führt: Ist es Möglich Blöcke mit Vba auf Grundlage der vorhanden Blöcke zu Positionieren (Position und Drehwinkel) ? ------------------ MfG HawK Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roland Schröder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13310 Registriert: 02.04.2004 IV 2019 + 2020 + 2021 W7pro64 F-Secure-Safe Dell-M4600 2,13GHz 12GB Quadro2000M 15,4"1920x1080 MS-IntelliMouse-Optical SpacePilotClassic
|
erstellt am: 25. Aug. 2022 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für HawK.2k7
Zitat: Original erstellt von HawK.2k7: ...nicht möglich, in Skizzen hinzukommende Profile automatisch für die Extrusion mit zu wählen. ---> aktuell ist es so, dass mein Block alle verschiedenen Ovale beinhaltet. Ich wähle mir dann im jeweiligen Bauteil nur die Kontur aus die ich benötige.
Das ist nicht, was ich meinte. Ich meinte eine Erhöhung der Anzahl von Ovalen in der Skizzen-Anordnung. Bei der 3D-Anordnung ist es dagegen kein Problem, da wird ja die Extrusion selber angeordnet. Aber egal, welche Anordnung es schlussendlich sein wird, wenn die Anzahl Exemplare in der Anordnung - zumindest über einen Satz zusammengehöriger Bauteile - gleich bleibt, sehe ich gute Chancen für Vereinfachungen. Zitat: Original erstellt von HawK.2k7: ..., dass mein Block alle verschiedenen Ovale beinhaltet. ... immer nur Schnittmengen ... Konturen ... nochmal vervielfachen
Genau deshalb würde ich genau das nicht tun! Die Auswahl der Extrusionsprofile nach der Mosaik-Methode ist ein grauenhafter Mist. Bei jeder Änderung verspringen die ausgewählten Bereiche vollkommen unvorhersagbar oder gehen vollständig verloren. Mit VBA kenn ich mich nur ein kleines Bisschen aus, aber für das gezielte Verändern der Ovalabmessungen hätte ich eine Idee, die kein VBA benötigt. Aber ehe ich lange erkläre oder überlege, wie ich es stattdessen machen würde, will ich erst noch mal fragen, ob ich es jetzt richtig verstanden habe: Du hast einen zusammengehörigen Satz Bauteile ("4-5") - die alle die gleiche spiralig-tangential heterodistante Anordnung mit bis zu 200 Exemplaren beinhalten, - in der jeweils alle Löcher gleich sind, - jedoch von Bauteil zu Bauteil verschieden groß? - Und es ist nicht unbedingt nötig, die Anordnung parametrisch zu verändern? Es kommt auch immer darauf an, wie oft so was benötigt wird. Einen Code wirklich zum Funktionieren zu bringen, erfordert viele, sehr viele Tests. Selbst bei nicht nur einmaligem Bedarf, ist es doch oft bedeutend weniger Arbeit, das Ganze einfach von Hand bzw. mit den bereits vorhandenen Funktionsmodulen zu machen. ------------------ Roland www.Das-Entwicklungsbuero.de It's not the hammer - it's the way you hit! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HawK.2k7 Mitglied
Beiträge: 18 Registriert: 13.07.2017 Win10 Enterprise DELL Precision 5530 Intel i7-8850H 16 Gb RAM nVidia Quadro P1000 Inventor 2018.2.3
|
erstellt am: 25. Aug. 2022 13:20 <-- editieren / zitieren --> Unities abgeben:
Zitat: wenn die Anzahl Exemplare in der Anordnung - zumindest über einen Satz zusammengehöriger Bauteile - gleich bleibt
das tut sie, die Anzahl über alle Bauteile eines Satzes, ist immer die gleiche. Zitat: Du hast einen zusammengehörigen Satz Bauteile ("4-5")
ja, aktuell gesteuert über eine Masterdatei in der sich diese Anordnung befindet Zitat: - die alle die gleiche spiralig-tangential heterodistante Anordnung mit bis zu 200 Exemplaren beinhalten, - jedoch von Bauteil zu Bauteil verschieden groß?
Korrekt. Zitat: - in der jeweils alle Löcher gleich sind,
Nein,sofern du das Seitenverhältnis meinst -> Die Langlöcher in Teil 1 können 3mmx6mm groß sein und in Teil 2 z.B. 2mmx8mm Zitat: - Und es ist nicht unbedingt nötig, die Anordnung parametrisch zu verändern?
genau, mit Änderungen von Hand käme ich klar. ------------------ MfG HawK Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roland Schröder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13310 Registriert: 02.04.2004 IV 2019 + 2020 + 2021 W7pro64 F-Secure-Safe Dell-M4600 2,13GHz 12GB Quadro2000M 15,4"1920x1080 MS-IntelliMouse-Optical SpacePilotClassic
|
erstellt am: 25. Aug. 2022 14:53 <-- editieren / zitieren --> Unities abgeben: Nur für HawK.2k7
Zitat: Original erstellt von HawK.2k7: >in der jeweils alle Löcher gleich sind< -> Die Langlöcher in Teil 1 können 3mmx6mm groß sein und in Teil 2 z.B. 2mmx8mm
Also jeweils , in einem Bauteil, gleich. Gut, das macht die Sache bedeutend einfacher. Gut ist auch, das Problem in kleine Häppchen, hier zwei, zu teilen. 1. Was die verschiedenen Abmessungen angeht, würde ich zunächst in der Basiskomponente nur einen Block von einem ovalen Loch machen mit nur genau einer Kontur. Und dann erst mal nur eins der benötigten Bauteile mit der Abgeleiteten Skizze. Wenn dieser Block zusammen mit der Skizze, in der er ist, aus der Basiskomponente abgeleitet wird, entsteht im abgeleiteten Bauteil eine Projektion davon, die eigenstabil und auch dort nicht zu ändern ist. Unter der Annahme, dass die Anordnung selber nicht mehr geändert werden muss, kannst Du nun per RMK auf die Abgeleitete Komponente im Browser die Verknüpfung unterdrücken. Das ist (im Gegensatz zu der direkt darunter befindlichen Option) reversibel und dekativiert auch nicht die ganze Ableitung, sonden nur deren Aktualisierung. Jetzt (oder auch vor der Unterdrückung) die Profile wählen (OK; es könnten 200 St. sein, aber bei einer Skizzenanordnung hast Du dieses Problem immer. Ob das auch anders geht, müssen wir gesondert überlegen) und die Löche extrudieren. Von diesem einen Bauteil (nachdem die AK unterdrückt ist!) eine Kopie machen und - im kopierten abgeleiteten Bauteil (Da muss man, je nach verwendeter Kopierfunktion, genau aufpassen) die AK wieder aktivieren - im abgeleiteten Bauteil Doppelklich auf die AK - in der Basiskomponente die Lochmaße ändern - im abgeleiteten Bauteil aktualisieren - im abgeleiteten Bauteil AK wieder unterdrücken. Wichtig dabei ist, die Kontur des Blocks nicht anzutasten, denn das zerschießt die unter Umständen mühevolle (200 St. ...) Konturauswahl der Extrusion. Also nur die Maße ändern und nix löschen und neuzeichnen und erst recht auch den Block nicht tauschen. Die Identitäten des Blocks und der Linien und Bögen darin müssen genau die gleichen bleiben. Und dieses Spiel (Bauteil kopieren, AK-Tür auf, im Basisteil die Maße ändern, AK aktualisieren, AK-Tür wieder zu) so oft, wir Du Bauteile mit verschieden großen Löchern brauchst. Durch das gezielte Unterdrücken und nur kurfristige Aktivhalten zeigt die AK im abgeleiteten Bauteil immer nur den jeweils während der Aktivierung gesehenen und projizierten Stand der Basiskomonente. Auch spätere Änderungen sind so möglich, Du musst das dann nur für jedes Bauteil getrennt machen und schön dafür sorgen, dem abgeleiteten Bauteil nach der bauteilspezifischen Änderung wieder "die Augen zu verbinden". 2. Was die Anordnung selber angeht, weiß ich noch nicht viel Besseres. Solange es verschiedene Profile in einer Skizze sind, must Du die, egal wie die da hin gekommen sind, alle einzeln für die Extrusion wählen. Da drum herum kommt man nur mit einer skizzenbasierten Anordnung der Extrusion im 3D, aber dabei gibt es dann eben keine Ausrichtung an der Spiraltangente. Das kann nur die Anordnung am Pfad, aber die findet die Schnittpunkte mit den Sternarmen nicht.
Die gezeigten Positionen und Tangentialrichtungen auf dem Spiralpfad mathematisch auszudrücken, ist im Prinzip möglich, aber davor schrecke auch ich (und ich mache gern was mit Formeln) zurück. Wie schon zuvor angemerkt, lohnt es sich oft nicht, etwas zu programmieren und/oder mathematisch zu konstruieren, wenn es einen "handbetätigten", mit absehbarem Aufwand zurückzulegbaren Weg gibt. 200 St. wäre natürlich viel, aber das ist ja die obere Grenze. Oft ist es ja auch so, dass erst mal etwas Kleines entsteht und die größeren Varianten erst nach und nach dazu kommen, so dass dann immer nur in der Kopie eine bestimmte Anzahl hinzugefügt werden muss. Also: Wie viele Löcher sind denn aktuell tatsächlich nötig? ------------------ Roland www.Das-Entwicklungsbuero.de It's not the hammer - it's the way you hit! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
OibelTroibel Mitglied Konstrukteur
Beiträge: 595 Registriert: 18.04.2014 ACAD/Inventor 2018-21
|
erstellt am: 26. Aug. 2022 08:14 <-- editieren / zitieren --> Unities abgeben: Nur für HawK.2k7
Zitat: Original erstellt von Roland Schröder: ...alle einzeln für die Extrusion wählen.
Mit diesem iLogic-Code, werden alle geschlossenen Konturen ausgewählt und in einer Extrusion berücksichtigt. Beim Ausführen des Scripts muss man sich in der Skizze mit den Ovalen befinden. Code: If Typeof ThisApplication.ActiveEditObject Is Sketch Then 'Do nothing Else MessageBox.Show("Activate a Sketch First then Run this Rule", "ilogic") Return End IfDim oPartDoc As PartDocument oPartDoc = ThisApplication.ActiveDocument Dim oCompDef As PartComponentDefinition oCompDef = oPartDoc.ComponentDefinition Dim oSketch As PlanarSketch oSketch = ThisApplication.ActiveEditObject ' Create a profile. Dim oProfile As Profile On Error Goto NoProfile oProfile = oSketch.Profiles.AddForSolid 'set direction oDirection = kSymmetricExtentDirection 'set operation oJoinOrCut = kCutOperation ' Create an extrusion Dim oExtrude As ExtrudeFeature On Error Goto NoExtrude oExtrude = oCompDef.Features.ExtrudeFeatures.AddByThroughAllExtent( _ oProfile, oDirection, oJoinOrCut) ThisApplication.CommandManager.ControlDefinitions.Item("FinishSketch").Execute iLogicVb.UpdateWhenDone = True exit sub NoProfile: MessageBox.Show("No closed profile found", "iLogic") Return NoExtrude: MessageBox.Show("No extrusion created, check your inputs.", "iLogic") Return
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HawK.2k7 Mitglied
Beiträge: 18 Registriert: 13.07.2017 Win10 Enterprise DELL Precision 5530 Intel i7-8850H 16 Gb RAM nVidia Quadro P1000 Inventor 2018.2.3
|
erstellt am: 26. Aug. 2022 08:15 <-- editieren / zitieren --> Unities abgeben:
moin, sehr gute Idee! Das werde ich Anfang nächste Woche direkt mal aufbauen/ausprobieren. Es sollte sich sogar relativ simpel automatisieren lassen mit VBA... hoffe ich Zu 2. kann ich dir nur zustimmen.
Zitat: Also: Wie viele Löcher sind denn aktuell tatsächlich nötig?
aktuell liegen wir bei ca.160 Löchern Ich werde auf jeden Fall mal Rückmeldung geben. Besten Dank schon mal! ------------------ MfG HawK Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HawK.2k7 Mitglied
Beiträge: 18 Registriert: 13.07.2017 Win10 Enterprise DELL Precision 5530 Intel i7-8850H 16 Gb RAM nVidia Quadro P1000 Inventor 2018.2.3
|
erstellt am: 29. Aug. 2022 15:29 <-- editieren / zitieren --> Unities abgeben:
moin, ich habe die Modelle jetzt so aufgebaut -> funktioniert einwandfrei In den Bauteilen gebe ich nun die Größe der Ovale vor die ich benötige. Ein kleines VBA-Skript stellt die Verbindung zum Master wieder her und übergibt die gewünschten Parameter. Danach werden die Dokumente aktualisiert und die Verbindung wieder unterdrückt. So spare ich mir auch diese Handarbeit und es bleibt nur ein Klick nochmal besten Dank Anbei der Code falls jemand Interesse hat:
Code:
Sub Oval_aendern() Dim oPartDoc As Inventor.PartDocument Dim oParams As Parameters Dim oWorkpath As String Dim oFilename_Master As String Dim oMasterDoc As Inventor.PartDocument Dim oMasterParams As Parameters Dim oDef As PartComponentDefinition Set oPartDoc = ThisApplication.ActiveDocument Set oParams = oPartDoc.ComponentDefinition.Parameters 'Arbeistpfad oWorkpath = Left(oPartDoc.File.FullFileName, InStrRev(oPartDoc.File.FullFileName, "\")) 'Dateiname Master oFilename_Master = oPartDoc.ComponentDefinition.ReferenceComponents.DerivedPartComponents.Item(1).Name 'Masterdokument Set oMasterDoc = ThisApplication.Documents.ItemByName(oWorkpath & oFilename_Master) 'Parameter aus Masterdokument Set oMasterParams = oMasterDoc.ComponentDefinition.Parameters 'Link zum Master wiederherstellen oPartDoc.ComponentDefinition.ReferenceComponents.DerivedPartComponents.Item(1).SuppressLinkToFile = False 'Daten übergeben oMasterParams.Item("Oval_Breite").Value = oParams.Item("Oval_Breite").Value oMasterParams.Item("Oval_Laenge").Value = oParams.Item("Oval_Laenge").Value 'Dokumente aktualisieren oMasterDoc.Update2 oPartDoc.Update2 'Link zum Master unterdrüken oPartDoc.ComponentDefinition.ReferenceComponents.DerivedPartComponents.Item(1).SuppressLinkToFile = True End Sub
------------------ MfG HawK Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|