| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: BlockReferenzen mit JigEntity einfügen (989 mal gelesen)
|
Boortsneggor Mitglied Ingenieur
Beiträge: 49 Registriert: 27.12.2011 Win7 Prof, Visual Studio 2010/2012, ObjectARX 2008/2012/2013, ACAD 2008/2012/2013
|
erstellt am: 25. Apr. 2012 21:14 <-- editieren / zitieren --> Unities abgeben:
Einen schönen guten Abend, ich habe mal wieder eine kleine Frage bezüglich der .Net-Schnittstelle im AutoCAD. Ich programmiere mit C# und benutze hauptsächlich objectarx 2012. Ich habe mir eine Funktion geschrieben, die mir eine neue BlockReferenz erzeugt und in die Datenbank einfügt. Der Benutzer hat dann die Möglichkeit, den Insekt-Point mittels Maus zu setzen. Dafür gibt es ja im World Wide Web auch zahlreiche Beispiele. Es funktioniert auch alles optimal. Die BlockReferenz hängt toll am Fadenkreuz und wird per "Klick" in die Zeichnung gesetzt. Mein Problem ist die Ausrichtung der Blockattribute. Die BlockRferenz besitzt zwei Textattribute die die Ausrichtung BaseRight haben. Beim Anwenden meiner Jig-Funktion werden die Attribute während dessen die BlockReferenz am Fadenkreuz hängt links ausgerichtet. Sobald der Insert-Point gesetzt wurde ist die Ausrichtung wieder BaseRight wie vom Block definiert. Ich habe bereits recherchiert und alles gemacht. Ich setze sowohl Position als auch AlignmentPoint der AttributReferenzen. Wie kann ich die Ausrichtung der Attribute während der Zeit am Fadenkreuz beeinflussen?? Ich hoffe, dass einer von auch eine Lösung parat hat. Vielen Dank schon mal! Grüße robert ------------------ Robert Menger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
oscarr Mitglied CAD-Manager
Beiträge: 198 Registriert: 02.10.2007 ACA 2012 - English Win 7/x64
|
erstellt am: 27. Apr. 2012 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für Boortsneggor
Hallo Robert, ich habe mal ein ähnliches Problem damit gelöst das ich den Text linksbündig um die Textlänge verschoben eingefügt habe. Also für den jig evtl einen Text benutzen den man nach dem Einfügen wieder entfernt und durch die richtigen Attribute ersetzt. Ist zwar etwas patchy aber sollte klappen. Die Textlänge kann man so ermitteln:
Code:
Dim measureString As String = "Mein Text" Dim stringFont As New Font("Arial", 12) Dim stringSize As New SizeF Dim pb As New PictureBox pb.Image = New Bitmap(1, 1) Dim g As Graphics = Graphics.FromImage(pb.Image) stringSize = g.MeasureString(measureString, stringFont) Return stringSize.Width
LG Holger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Boortsneggor Mitglied Ingenieur
Beiträge: 49 Registriert: 27.12.2011 Win7 Prof, Visual Studio 2010/2012, ObjectARX 2008/2012/2013, ACAD 2008/2012/2013
|
erstellt am: 02. Mai. 2012 21:35 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, vielen Dank für deine Antwort. Da habe ich auch schon drüber nachgedacht. Ich müsste das dann nur nachdem Einfügen wieder rückgängig machen. Gibt es Möglichkeiten, die Autodesk Fonts in System.Drawing.Fonts umzuwandeln. Ich gehe mal davon aus, dass die Berechnung der Textlänge in erster Linie von der Schriftart abhängt, oder? grüße robert ------------------ Robert Menger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
oscarr Mitglied CAD-Manager
Beiträge: 198 Registriert: 02.10.2007 ACA 2012 - English Win 7/x64
|
erstellt am: 03. Mai. 2012 13:46 <-- editieren / zitieren --> Unities abgeben: Nur für Boortsneggor
Hallo Robert, ich kenne keine Möglichkeit das zu wandeln. Evtl. mittel SHX2SHP und dann manuell das rausfummeln... Die Textlänge ist eben vom Font abhängig (ausser bei nichtproportionalen Schriftarten wie isoct oder monotxt). Wir nutzen im Büro aus diesem (nicht wandelbar) Grund nur TrueType schriften, da sie uns auch in anderen Programmen zur Verfügung stehen. So kann man Projektzeichnungen auch mit Illustratur weiter verarbeitet werden und alle Zeichnungen haben das gleiche Schriftbild. LG Holger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Boortsneggor Mitglied Ingenieur
Beiträge: 49 Registriert: 27.12.2011 Win7 Prof, Visual Studio 2010/2012, ObjectARX 2008/2012/2013, ACAD 2008/2012/2013
|
erstellt am: 30. Mai. 2012 21:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, vielen Dank für deine Hilfe. Leider bin ich immer noch nicht weiter mit dem Jig-Problem. Es muss doch irgendeine Möglichkeit geben, die Position der Attribute während des Einfügend zu manipulieren. Das Problem ist wahrscheinlich der noch variierende Insert-Point. Vielleicht meldet sich ja noch jemand mit der Lösung. Bis dahin geht's erstmal so... grüße robert ------------------ Robert Menger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |