| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Hüllenquader (1943 / mal gelesen)
|
Enric Mitglied Ingenieurbüro
Beiträge: 249 Registriert: 29.02.2008 Einsatz: Inventor 2018
|
erstellt am: 31. Mai. 2021 14:02 <-- editieren / zitieren --> Unities abgeben:
Hallo liebe CAD Gemeinde, ich habe da mal eine Frage an die Spezialisten? Wie kann ich eine Hülle erzeugen, in der ich konstruieren kann, und die automatisch größer wird, um die Größe für die Verpackung zu ermitteln. VG Enric ------------------ Konstruktion 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: 13438 Registriert: 02.04.2004 IV 2024
|
erstellt am: 31. Mai. 2021 14:45 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
|
Lothar Boekels Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau und CAD-Trainer
Beiträge: 3835 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: 31. Mai. 2021 14:46 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
|
muellc Ehrenmitglied V.I.P. h.c. ICT Specialist
Beiträge: 3501 Registriert: 30.11.2006 Inventor 2017.4.12 64 bit Windows 10 Enterprise 64 bit 3DEXPERIENCE R2016x -------------------- HP Z-Book 15 G4 32 Gig Ram NVIDIA Quadro M2200 2x HP E243i
|
erstellt am: 31. Mai. 2021 14:57 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
|
Enric Mitglied Ingenieurbüro
Beiträge: 249 Registriert: 29.02.2008 Einsatz: Inventor 2018
|
erstellt am: 31. Mai. 2021 15:33 <-- editieren / zitieren --> Unities abgeben:
|
Roland Schröder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13438 Registriert: 02.04.2004 IV 2024
|
erstellt am: 31. Mai. 2021 16:12 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
|
Enric Mitglied Ingenieurbüro
Beiträge: 249 Registriert: 29.02.2008 Einsatz: Inventor 2018
|
erstellt am: 31. Mai. 2021 16:36 <-- editieren / zitieren --> Unities abgeben:
|
Roland Schröder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13438 Registriert: 02.04.2004 IV 2024
|
erstellt am: 31. Mai. 2021 17:32 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
- Öffne den VBA-Editor mit [Alt+F11] - Erzeuge dort im ApplicationProjekt ein Modul mit dem Namen "iProperties" (RMK\einfügen\Modul) - Kopiere den untenstehenden Code in das Editorfenster Wenn der Cursor in dem Feld ist, kannst Du mit [F5] den Code gleich testen. Und ändern. Der Code holt außer den BoxDimensions auch die Abwicklungsmaße (wenn vorhanden) und trägt beides in die iProperties ein (daher die Einordnung im gleichnamigen Modul). Und er enthält noch eine auskommentierte alternative Formatierungen der Maßdarstellung. Um den Code normal mit Mausklick zu starten, brauchst Du ein Icon. - Schau unter Anwendungsoptionen\Datei nach, wo Dein VBA-Projekt gespeichert wird - Kopiere das beiliegende bmp dorthin Der Name des Icons muss dem Namen des Moduls und der Subroutine entsprechen, ergänzt mit ".small", weil es verschiedene Größen gibt. Ich benutze aber nur kleine Icons und habe daher kein größeres gemacht. Wenn alles passt, findest Du jetzt im Menü "Benutzerbefehle anpassen" das neue Icon und kannst es Deinen Wekzeugen hinzufügen. Aber 2x Vorsicht: 1. Diese iProperty-Einträge werden nicht automatisch aktualisiert. Wenn man etwas die Größe Beinflussendes ändert, muss man die Funktion erneut ausführen. (Man könnte das automatisieren, aber das war mir bisher nicht wichtig.) 2. Wenn Arbeitsebenen usw. sichtbar sind, wird deren (oft hervorstehende) Darstellung mitgerechnet. Die Arbeitselemente also nötigenfalls vorher alle unsichtbar machen (was ja auch der Normalfall ist.) Code: Sub BoxDimensions() Dim oCD As ComponentDefinition If ThisApplication.ActiveDocumentType = kPartDocumentObject Then Dim oPart As PartDocument Set oPart = ThisApplication.ActiveDocument Set oCD = oPart.ComponentDefinition ElseIf ThisApplication.ActiveDocumentType = kAssemblyDocumentObject Then Dim oAsm As AssemblyDocument Set oAsm = ThisApplication.ActiveDocument Set oCD = oAsm.ComponentDefinition Else Exit Sub End If Dim dX As Double Dim dY As Double Dim dZ As Double Dim dV As Double ' Dim fx As Double ' Dim fy As Double ' Dim fz As Double Dim fV As Double Dim sBox As String Dim sV As String dX = oCD.RangeBox.MaxPoint.X - oCD.RangeBox.MinPoint.X dY = oCD.RangeBox.MaxPoint.Y - oCD.RangeBox.MinPoint.Y dZ = oCD.RangeBox.MaxPoint.z - oCD.RangeBox.MinPoint.z dV = oCD.MassProperties.Volume If dV = 0 Then MsgBox "xyz-Box kann nicht bestimmt werden, weil kein Volumen vorhanden ist." Exit Sub End If dX = Round(dX * 10, 0) dY = Round(dY * 10, 0) dZ = Round(dZ * 10, 0) dV = Round(dV, 2) ' fx = 10 ^ Round(Log(dX) / Log(10) - 3) ' fy = 10 ^ Round(Log(dY) / Log(10) - 3) ' fz = 10 ^ Round(Log(dz) / Log(10) - 3) fV = 10 ^ Round(Log(dV) / Log(10) - 2.5) ' dX = Round(dX / fx) * fx ' dY = Round(dY / fy) * fy ' dz = Round(dz / fz) * fz dV = Round(dV / fV) * fV sBox = dX & " x " & dY & " x " & dZ sV = Format(dV, "0") If ThisApplication.ActiveDocumentType = kPartDocumentObject Then Call SetPropertyValue(oPart.PropertySets(4), "xyz-Box", sBox) Call SetPropertyValue(oPart.PropertySets(4), "cm³", sV) MsgBox "xyz-Box in mm:" & vbTab & sBox & vbCrLf & "Volumen in cm³:" & vbTab & dV ElseIf ThisApplication.ActiveDocumentType = kAssemblyDocumentObject Then Call SetPropertyValue(oAsm.PropertySets(4), "xyz-Box", sBox) MsgBox "xyz-Box in mm:" & vbTab & sBox End If If (ThisApplication.ActiveDocument.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}") Then '(Kennung für Blechteile) Dim dXz As Double Dim dYz As Double Dim dZz As Double Dim oFP As FlatPattern Dim sHalbzeug As String Dim sZuschnitt As String Set oFP = oPart.ComponentDefinition.FlatPattern On Error Resume Next dXz = Round((oFP.Body.RangeBox.MaxPoint.X - oFP.Body.RangeBox.MinPoint.X) * 10, 0) dYz = Round((oFP.Body.RangeBox.MaxPoint.Y - oFP.Body.RangeBox.MinPoint.Y) * 10, 0) dZz = Round((oFP.Body.RangeBox.MaxPoint.z - oFP.Body.RangeBox.MinPoint.z) * 10, 0) sHalbzeug = "BL " & dZz sZuschnitt = dXz & " x " & dYz If Err Then MsgBox "Die Werte für Halbzeug und Zuschnitt können nicht aktualisiert werden, da keine Abwicklung vorhanden ist." Else MsgBox "Halbzeug:" & vbTab & sHalbzeug & _ vbCrLf & "Zuschnitt:" & vbTab & sZuschnitt Call SetPropertyValue(oPart.PropertySets(4), "Halbzeug", sHalbzeug) Call SetPropertyValue(oPart.PropertySets(4), "Zuschnitt", sZuschnitt) End If End If End Sub
------------------ 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 |
murphy Mitglied
Beiträge: 1150 Registriert: 09.07.2002
|
erstellt am: 01. Jun. 2021 07:06 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
Bei Ihnen evtl. nicht wichtig, wenn Sie keine Maschinen haben. Das kann sich aber schnell ändern: Hier eine 5-Achs-Arbeitsplatzfräsmaschine: https://www.youtube.com/watch?v=vMY06dzf7UA Die Herausgabe dieser Abmessungen ist wichtig. Angenommen, wir haben eine Dampfmaschine und fertigen ein Teil aus Stangenmaterial. Zuerst wird die Konstruktion kopiert, die konstruktionsübergreifenden Parmaeter geändert, CAD rechnet durch mault ein wenig herum, sonst wär's zu einfach. Dabei ändern viele Teile ihre Abmessungen. Im CAD haben wir auch die Rüstpläne, da sind auch die Spannmittel drin. Jetzt muß das CAD anhand der Maximalmaße zunächst die Rohteilmaße festlegen, hier auf die nächste lieferbare Größe springen. Dann dieses Rohteil ins Spannmittel, das u. U. jetzt nicht genug Spannweite hat, also auch hier ein anderes rein muß. Dies kann automatisch erfolgen oder zumindest angemault werden. Sicher kann man bei jedem Teil, bevor man das CAM drüberläßt, erst mal die Aktualisierung manuell anstoßen. Aber - wenn man's vergisst? Diese Aktualisierung hat also schon Reize.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enric Mitglied Ingenieurbüro
Beiträge: 249 Registriert: 29.02.2008 Einsatz: Inventor 2018
|
erstellt am: 01. Jun. 2021 09:40 <-- editieren / zitieren --> Unities abgeben:
|
Enric Mitglied Ingenieurbüro
Beiträge: 249 Registriert: 29.02.2008 Einsatz: Inventor 2018
|
erstellt am: 01. Jun. 2021 20:28 <-- editieren / zitieren --> Unities abgeben:
Hallo Roland, ich habe das so gemacht, wie du es beschrieben hast! Leider stand in den iProperties nichts drin und ich konnte auch nicht feststellen, ob der Befehl ausgeführt wurde. Wie kann ich feststellen ob der Code ausgeführt wurde! Danke für Deine Hilfe. VG Enric
------------------ Konstruktion 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: 13438 Registriert: 02.04.2004 IV 2024
|
erstellt am: 01. Jun. 2021 22:29 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
Wenn der Code ausgeführt wird, erscheint eine MessageBox wie im Bild (oder ähnlich, es gibt verschiedene Messages). Mit [F8] im VBA-Editor wird der Code Schritt für Schritt ausgeführt. Dann kann man sehen, was gerade gemacht wird, bis wo es funktioniert und wo es hakt. ------------------ 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 |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 01. Jun. 2021 22:54 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
|
Enric Mitglied Ingenieurbüro
Beiträge: 249 Registriert: 29.02.2008 Einsatz: Inventor 2018
|
erstellt am: 02. Jun. 2021 11:19 <-- editieren / zitieren --> Unities abgeben:
|
Roland Schröder Moderator Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen
Beiträge: 13438 Registriert: 02.04.2004 IV 2024
|
erstellt am: 02. Jun. 2021 13:14 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
Zitat: Original erstellt von rkauskh: Fehlt da nicht...
Öh, ja, doch, die habe ich vergessen. Hängt unten an. Aber auch ohne diese Subroutine müsste der Code zumindest bis zu der Stelle kommen, wo sie aufgerufen wird, und es müsste dann die abgebildete Fehlermeldung erscheinen. Warum das bei Enric nicht geschieht, ist so, ohne jede weitere Information, natürlich nicht zu erkennen. Zumal ich selber auch nur sehr selten an VBA-Code arbeite. Code:
Private Sub SetPropertyValue(oPropset As PropertySet, sName As String, sValue As String) On Error Resume Next If oPropset.Item(sName).Name <> "sName" Then Call oPropset.Add("", sName) oPropset.Item(sName).Value = sValue Else If oPropset.Item(sName).Value <> sValue Then oPropset.Item(sName).Value = sValue End If End If End Sub
------------------ 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 |
Enric Mitglied Ingenieurbüro
Beiträge: 249 Registriert: 29.02.2008 Einsatz: Inventor 2018
|
erstellt am: 02. Jun. 2021 18:30 <-- editieren / zitieren --> Unities abgeben:
Hallo Roland, hat geklappt; Danke! Solltest du mal auf den Gedanken kommen, das sich das beim speichern automatisch aktualisierst, wäre ich dankbar, wenn du an mich denkst! VG Enric ------------------ Konstruktion Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 03. Jun. 2021 08:02 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
|
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 721 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 04. Jun. 2021 21:21 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
|
Enric Mitglied Ingenieurbüro
Beiträge: 249 Registriert: 29.02.2008 Einsatz: Inventor 2018
|
erstellt am: 16. Jul. 2021 17:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Roland, ich habe mal versucht die Länge, Breite und Höhe jeweils in eine Benutzerdefinierte Spalte zu bekommen, leider ohne Erfolg. Kannst du mir da nochmal freundlichst weiterhelfen? Gruß Enric ------------------ Konstruktion Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Manfred Gündchen Ehrenmitglied V.I.P. h.c. SelbstständIng mit Planungsbüro Anlagenbau, Dipl.-Ing.-Maschinenbau
Beiträge: 2416 Registriert: 08.03.2008 IV seit den 5.3Er aktuell den 2014Ner WIN7pro-64bit SP das jeweils aktuelle
|
erstellt am: 16. Jul. 2021 17:13 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
Zitat: Original erstellt von Enric: …Wie kann ich eine Hülle erzeugen, in der ich konstruieren kann, und die automatisch größer wird, um die Größe für die Verpackung zu ermitteln…
…wäre auch mit einigen einfachen (aus meiner Sicht ) konstruktiven Kleinigkeiten über ein entsprechend gestaltetes Mastermodel möglich. Machen wir für Wartungsräume etc. schon „ewig“ so. Bei uns ist das dann immer ein transparentes Bauteil/Volumenkörper der auch „mitwächst/schrumpft. ------------------ In diesem Sinne wünsche ich allen, weiterhin effektives Schaffen ---------------- Manfred Gündchen www.guendchen.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enric Mitglied Ingenieurbüro
Beiträge: 249 Registriert: 29.02.2008 Einsatz: Inventor 2018
|
erstellt am: 21. Jul. 2021 16:19 <-- editieren / zitieren --> Unities abgeben:
|
Manfred Gündchen Ehrenmitglied V.I.P. h.c. SelbstständIng mit Planungsbüro Anlagenbau, Dipl.-Ing.-Maschinenbau
Beiträge: 2416 Registriert: 08.03.2008 IV seit den 5.3Er aktuell den 2014Ner WIN7pro-64bit SP das jeweils aktuelle
|
erstellt am: 23. Jul. 2021 06:05 <-- editieren / zitieren --> Unities abgeben: Nur für Enric
Na zB. in den Masterskizzen einfach an die Außenkanten/Ecken der Konturen referenzierte Maße setzen. Bei Änderungen sollten die Maße „mitlaufen“. Nach einer Aktualisierung wird auch der unten beschriebene Hüllquader angepaßt. Auf passende Ebenen Skizzen setzen. Eine Außenkanten/Ecken der Konturen hierauf projizieren. Daran ein Rechteck festmachen und mit den passenden Referenzmaßen von oben bemaßen. Genau so für die weitere Dimension verfahren, oder das Rechteck als Fläche mit dem dritten Referenzmaß für die dritte Dimension extrudieren. ------------------ In diesem Sinne wünsche ich allen, weiterhin effektives Schaffen ---------------- Manfred Gündchen www.guendchen.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |