| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Maßeinheiten umstellen für Punkte in Makro (1627 mal gelesen)
|
winter7288 Mitglied Konstrukteur
Beiträge: 40 Registriert: 03.07.2008
|
erstellt am: 11. Dez. 2012 11:14 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich habe hier ein Makro, daß automatisch von einem Programm zur Laufradberechnung ausgeworfen wird. Danach wird ein Flächenmodell erstellt. Das Programm gibt die Koordinaten in mm aus, dummerweise rechnet Inventor intern aber in cm. Das ganze sieht so aus:
Code: [...] Private Sub Hub() Dim oPlSketch As PlanarSketch Set oPlSketch = oPartCompDef.Sketches.Add(oWorkPl) Dim Hub_Spline_FitPoint As ObjectCollection Set Hub_Spline_FitPoint = ThisApplication.TransientObjects.CreateObjectCollection Dim Hub_Spline_Point(0 To 79) As Point2D Set Hub_Spline_Point(0) = oTrans.CreatePoint2D(10.000000,0.000000) Set Hub_Spline_Point(1) = oTrans.CreatePoint2D(10.720179,2.353143) Set Hub_Spline_Point(2) = oTrans.CreatePoint2D(11.444827,4.704911) Set Hub_Spline_Point(3) = oTrans.CreatePoint2D(12.177537,7.054179) Set Hub_Spline_Point(4) = oTrans.CreatePoint2D(12.923662,9.399218) Set Hub_Spline_Point(5) = oTrans.CreatePoint2D(13.689911,11.737754) [...]
Da es hier um mehrere hundert Koordinaten geht, kann ich auch nicht alle Punkte händisch um den Faktor 10 ändern. Kann ich Inventor nicht beibringen, daß er hier in mm rechnet? Ich habe zwar etwas zu "UnitsofMeasure" gefunden, aber leider noch nichts, was funktioniert. Ich habe es bereits mit
Code: Set oUOM = oApplication.ActiveDocument.UnitsOfMeasure oUOM.LengthUnits = kMillimeterLengthUnits oUOM.LengthDisplayPrecision = 6
probiert, das führt aber bisher nicht zum Erfolg. Oder muß ich das irgendwo an anderer Stelle angeben?Es ist so, daß die Punkte alle in Subroutinen definiert werden, die dann in "Main()" aufgerufen werden. Dort habe ich auch den o.g. Code angegeben. Schonmal vielen Dank im voraus. ------------------ Gruß aus dem Westerwald, Manfred Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
winter7288 Mitglied Konstrukteur
Beiträge: 40 Registriert: 03.07.2008 HP Z420 Workstation Intel Xeon E5-1620 @3,6GHz; 32GB RAM NVIDIA Quadro K4000; 3GB 3Dconnexion SpaceExplorer MS Windows 7 Professional SP1 (x64) Autodesk Product Design Suite 2014 SP2 Update 7 (x64)
|
erstellt am: 11. Dez. 2012 13:26 <-- editieren / zitieren --> Unities abgeben:
Nach nochmaligem Durchforsten der API Reference habe ich zumindest schonmal herausgefunden, daß Inventor immer in den "database units" rechnet, ich diese Einheiten aber nicht ändern kann. Zitat: The important thing to remember is that within the VBA function, you should always work in the world of Autodesk Inventor's database units: centimeters and radians.
Heißt das jetzt für mich, daß ich 1090 3D- und 160 2D-Koordinaten alle von Hand im Makro ändern muß? ------------------ Gruß aus dem Westerwald, Manfred Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 11. Dez. 2012 13:52 <-- editieren / zitieren --> Unities abgeben: Nur für winter7288
|
winter7288 Mitglied Konstrukteur
Beiträge: 40 Registriert: 03.07.2008
|
erstellt am: 11. Dez. 2012 14:11 <-- editieren / zitieren --> Unities abgeben:
Danke! Das musste ich zwar jetzt einige Male einfügen mit den entsprechenden Variablen, aber besser alle Koordinaten zu ändern. Leider kann ich an dem Programm, das die Daten ausgibt (CFTurbo), nichts ändern. Wie kommt man aber auch darauf, in Zentimetern zu rechnen? ------------------ Gruß aus dem Westerwald, Manfred [Diese Nachricht wurde von winter7288 am 11. Dez. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 11. Dez. 2012 18:27 <-- editieren / zitieren --> Unities abgeben: Nur für winter7288
Hi Vermutlich kommt man darauf in cm zu rechnen, wenn man die mittlere Einheit zwischen Kilometer und Nanometer sucht und irgendwas das in etwa in der Größenordnung eines Inches liegt. Oder es lag daran, das ein Entwickler seinen Aluhut nicht trug, als protuberanzbedingt die Omega-3-Strahlung zunahm. Es ist gut das sich die Einheit nicht umstellen läßt, denn sonst wäre bei jeder Berechnung (so wie auch bei dir) Rätselraten angesagt was denn als Ergebnis herauskommt. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Alienware m17x, Win7, Inventor2012
|
erstellt am: 11. Dez. 2012 18:53 <-- editieren / zitieren --> Unities abgeben: Nur für winter7288
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 11. Dez. 2012 23:01 <-- editieren / zitieren --> Unities abgeben: Nur für winter7288
|
AlbertR Administrator (Betriebs)Wirt
Beiträge: 1180 Registriert: 02.03.2000 "Wer will, dass ihm andere sagen, was sie wissen, der muss ihnen sagen, was er selbst weiß. Das beste Mittel, Informationen zu erhalten, ist, Informationen zu geben." Nicoló Machiavelli (1469-1527)<P>IMAC / OSX ohne CAD
|
erstellt am: 12. Dez. 2012 21:49 <-- editieren / zitieren --> Unities abgeben: Nur für winter7288
Zitat: Original erstellt von daywa1k3r:
BTW. Herzlichen Glückwunsch zum 1000 Beitrag Ralf! Du leistest hier hervorragende Arbeit, und hast dir schon längst den Mod-Status verdient – gerne auch in .NET Foren
Hi Ralf, herzlich Willkommen in der Mod.-Runde! ------------------ Gruss Albert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |