| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
 | Solid Edge 2025 First Look Online-Event 14.11.2025, eine Pressemitteilung
|
Autor
|
Thema: View-Scale in .Net anderer Wert als interaktiv (998 mal gelesen)
|
macfrei Mitglied
 Beiträge: 7 Registriert: 13.06.2012
|
erstellt am: 20. Jun. 2012 15:09 <-- editieren / zitieren --> Unities abgeben:         
Hi zusammen Beim Ermitteln des Massstabs einer oder mehrerer Views habe ich festgestellt, dass die Scales, die das Programm zurückbringt, abweichen von dem Scale, der im NX mit RMB "Stil..." ersichtlich ist. Code-Schnipsel:
Code:
DraftingView mView; DrawingSheet mysheet = workPart.DrawingSheets.CurrentDrawingSheet; dViews = mysheet.GetDraftingViews() ; lw.Open(); vCount = dViews.Length; for (int i = 0; i < vCount; i++) { mView = dViews[i]; vScale = mView.Scale; lw.WriteLine(" Masstab bei View : " + mView.Name + " ist = " + vScale.ToString()); .....
Im Code erhalte ich z.B. 2.07662898177803, interaktive Abfrage liefert: 2.000.Output von obigem Programm:
Masstab bei View : 2-FRONT ist = 1.03831449088902 Masstab bei View : 3-SECTION A-A ist = 1.03831449088902 Masstab bei View : 6-SECTION B-B ist = 2.07662898177803 Masstab bei View : 7-DETAIL_SECTION A-A (clip) ist = 5.19157245444509 Masstab bei View : 7-DETAIL_SECTION A-A ist = 5.19157245444509 Masstab bei View : 8-EXPLICIT ist = 1.03831449088902 Masstab bei View : 5-DETAIL_EXPLICIT (clip) ist = 2.07662898177803 Masstab bei View : 5-DETAIL_EXPLICIT ist = 2.07662898177803
Die "echten" Scales sind aber 1.000, 2.000, 5.000 Hat jemand eine Vorstellung, woran das liegt? Danke und Gruss Markus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
little_ug Mitglied CAX/PDM Admin / PM
 
 Beiträge: 389 Registriert: 20.03.2003 NX 7.5.4.4 mp1 Creo2 M020 TC UA 9.1.1.2
|
erstellt am: 20. Jun. 2012 17:09 <-- editieren / zitieren --> Unities abgeben:          Nur für macfrei
Hi Markus, bei mir funzt des mit: Dim mysheet As Drawings.DrawingSheet = Nothing Dim scale As String = "" Dim dwgview As String = "" Dim scaledbl As Double = 0 mysheet = nxpart.DrawingSheets.CurrentDrawingSheet For Each member_view In mysheet.GetDraftingViews() dwgview = member_view.Name scale = member_view.Style.General.Scale.ToString scaledbl = member_view.Style.General.Scale Next ------------------ Gruß Michael have you tried turning it off and on again Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| Mechanical Design Engineer (m/w/d) | Sperry Marine ist einer der weltweit führenden Hersteller modernster Navigations-, Radar- und Automationssysteme für die kommerzielle Seeschifffahrt sowie für Projekte von öffentlichen Auftraggebern. Wir blicken auf über 100 Jahre Erfahrung in der Entwicklung von maritimen Navigations- und Steuerungssystemen zurück, sind stark auf dem globalen Markt vertreten und beschäftigen weltweit ca. 400 Mitarbeiter/innen.... | Anzeige ansehen | Mechatronik |
|
macfrei Mitglied
 Beiträge: 7 Registriert: 13.06.2012
|
erstellt am: 21. Jun. 2012 10:34 <-- editieren / zitieren --> Unities abgeben:         
Hi Michael Danke für deinen Input, das kann ich gut gebrauchen. Ich hatte schon einen "Workaround", indem ich den Scale der View des Drawingsheets abfrage und danach den Scale der einzelnen Views durch diesen "MasterScale" dividiere. Dann stimmt der Scale auch wieder: Code:
DraftingView[] dViews; DraftingView mView; DrawingSheet mysheet = workPart.DrawingSheets.CurrentDrawingSheet; dViews = mysheet.GetDraftingViews() ; sheetScale = mysheet.View.Scale; vCount = dViews.Length;for (int i = 0; i < vCount; i++) { mView = dViews[i]; vScale = mView.Scale / sheetScale; ....
Dein Vorschlag ist natürlich eleganter und ich übernehme das sehr gerne. Danke für deinen Tipp. Gruss Markus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |