Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  Volumen im Schriftfeld formatiert in cm³

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:  Volumen im Schriftfeld formatiert in cm³ (1095 / mal gelesen)
Roland Schröder
Moderator
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen




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

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: 27. Jul. 2018 23:44    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

Moin!

(Wie) Kann man das Volumen eines Bauteils im Schriftfeld in der idw formatiert in cm³ und am liebsten auch ohne Einheit anzeigen lassen?

------------------
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

Ruzy5624
Mitglied
Konstruktionsleiter / staatl. gepr. Techniker


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

Beiträge: 280
Registriert: 01.07.2015

Product Design Suite 2018 Ultimate
Visual Studio 2017
Windows 10 Pro
Intel Xeon E3-1245 v5 @ 3,5GHz
Nvidia Quadro M4000 8GB
RAM 32GB
2x 24" Monitore FullHD
SpaceMouse Pro

erstellt am: 28. Jul. 2018 00:17    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 Roland Schröder 10 Unities + Antwort hilfreich

Mahlzeit,

meines Wissens nach geht dies nicht ohne weiteres.
Man kann sich allerdings mit einer iLogic-Regel behelfen, um so das Volumen des Bauteils oder der Baugruppe im gewünschten Format in ein benutzerdefiniertes iProperty zu schreiben und dann dieses im Schriftfeld verknüpfen.
Dann am besten noch die Regel mit einem Ereignisauslöser verknüpfen, damit die Regel immer wieder automatisch ausgeführt wird und das benutzerdefinierte iProperty aktualisiert wird.

Hier der Code für die Regel:

Code:
Dim oDoc As DrawingDocument
oDoc = ThisApplication.ActiveDocument

Dim oSheet As Sheet
oSheet = oDoc.Sheets(1)

Dim oView As DrawingView
oView = oSheet.DrawingViews(1)

Dim oRefFileDes As ReferencedFileDescriptor
oRefFileDes = oView.ReferencedFile

Dim oRefDoc As Document
oRefDoc = oRefFileDes.ReferencedDocument

Dim oUsePropSet As PropertySet
oUsePropSet = oDoc.PropertySets.Item("Inventor User Defined Properties")

Dim oDesProps As PropertySet
oDesProps = oRefDoc.PropertySets.Item("Design Tracking Properties")

Try
oUsePropSet.Add("", "Volume_cm")
Catch
End Try

oUsePropSet.Item("Volume_cm").Value = CInt(oDesProps.Item("Volume").Value)


------------------
Mit Besten Grüßen

Marcel

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

Roland Schröder
Moderator
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen




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

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: 28. Jul. 2018 00: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

Danke, ich hab's befürchtet.    ...
... und mir das in der Zwischenzeit auch schon so ähnlich in VBA gebaut. 

Hab da schon so eine Sub für die xyz-Box am Start, und die füllt jetzt zusätzlich ein weiteres benutzerdefiniertes iProp aus:

Code:
Dim dV As Double
Dim sV As String
dV = oPart.ComponentDefinition.MassProperties.Volume
dV = Round(dV, 2)
MsgBox "xyz-Box:" & vbTab & sBox & vbCrLf & "Volumen:" & vbTab & dV & " cm³"
sV = Str(dV)
Call SetPropertyValue(oPart.PropertySets(4), "Volumen cm³", sV)

Unbefriedigend ist jetzt allerdings noch, dass die Anzeige in der Message-Box mit Komma und führender Null erfolgt, der Eintrag im iProp, der auf Konversion in String besteht, dagegen mit Dezimal-Punkt und ohne führende Null, und dieser Eintrag dann auch so in der idw erscheint.  

Automatisch lass ich das bisher nicht laufen, denn bisher war ich unsicher, ob das unter gewissen Umständen nicht doch auch Ärger machen kann.


------------------
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

Ruzy5624
Mitglied
Konstruktionsleiter / staatl. gepr. Techniker


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

Beiträge: 280
Registriert: 01.07.2015

Product Design Suite 2018 Ultimate
Visual Studio 2017
Windows 10 Pro
Intel Xeon E3-1245 v5 @ 3,5GHz
Nvidia Quadro M4000 8GB
RAM 32GB
2x 24" Monitore FullHD
SpaceMouse Pro

erstellt am: 28. Jul. 2018 09:14    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 Roland Schröder 10 Unities + Antwort hilfreich

Um die Zahl in ein gewünschtes Format zu zwängen gibt es verschiedene Ansätze. Für einen Fall könnte folgendes geeignet sein:

Code:
Call SetPropertyValue(oPart.PropertySets(4), "Volumen cm³", sV.ToString("####0000.00"))


Wie genau der String formatiert werden soll kann genau festgelegt werden.


Hier noch eine Erklärung zum Formatieren und den eingesetzten Formatierungsbezeichnern: Klick mich!

------------------
Mit Besten Grüßen

Marcel

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

Roland Schröder
Moderator
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen




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

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: 28. Jul. 2018 14: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

Zitat:
Original erstellt von Ruzy5624:
Wie genau der String formatiert werden soll kann genau festgelegt werden.
Auch dynamisch?
Ich hätte nämlich gern eine Formatierung nach Anzahl angezeigter Stellen (wg. Lesbarkeit und Platz im Schriftfeld), Staffelung ungefähr folgendermaßen:
156
15,6
1,56
0,16
0,02
(ja, ich weiß, dass das am Ende ein bisschen unlogisch ist, aber das kann ich ja noch anpassen.)

Ich habe das auch schon mit dem folgenden Trick ungefähr erreicht,

Code:
Dim fV As Double
fV = 10 ^ Round(Log(dV) / Log(10) - 2.5)
dV = Round(dV / fV) * fV

aber das widerspricht einer Formatierung mit fester Anzahl Stellen nach dem Komma.
(dass ich 2,5 und nicht 2 oder 3 vom Exponenten abziehe, liegt an dem erwähnten unlogischen Wunsch.)

Eine Methode wie im idw-Bemaßungsstil, einfach Führende_Null_Anzeigen_Ja/Nein, habe ich in der .Net-Erklärung noch nicht gefunden.

Auf eine case-Folge mit allen möglichen verschiedenen Formaten für verschiedene Wertebereiche habe ich irgendwie keine Lust, aber vielleicht geht es ja am Ende nur genau so (vor allem bei unlogischen Wünschen  .

------------------
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

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)2024 CAD.de | Impressum | Datenschutz