| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
 | Solid Edge: Erste Schritte, ein Webinar am 26.09.2025
|
Autor
|
Thema: View-Scale in .Net anderer Wert als interaktiv (1006 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 |

| Bautechniker / Bauzeichner (w/m/d) Infrastruktur Verkehrsanlagen | Wir stehen jeden Morgen dafür auf, eine lebenswerte Zukunft für nachfolgende Generationen zu schaffen. Je nach Projekt sind wir Berater, Umsetzer ? oder beides ? nachhaltiger, innovativer und wirtschaftlicher Lösungen für Immobilien, Industrie, Energie und Infrastruktur. In interdisziplinären Teams unterstützen unsere 6.500 Mitarbeitenden an über 70 Standorten weltweit unsere Kunden. Wir denken visionär und realistisch.... | Anzeige ansehen | Ingenieure und technische Berufe |
|
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 |