| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Autotext (1555 mal gelesen)
|
hg-obdf Mitglied Konstrukteur
Beiträge: 78 Registriert: 30.07.2008 NX7.5 Visual Basic 2010 Express Eclipse
|
erstellt am: 12. Aug. 2009 11:43 <-- editieren / zitieren --> Unities abgeben:
Hallo- Folgende Aufgabenstellung: In Zeichnungsableitungen (Baugruppen) haben wir verschiedene Ansichten unter anderem auch Explosionsansichten. (ca. 500Teile) Ähnlich der Stücklistenfunktion mit den Callouts soll ein Text mit Pfeil zu dem jeweiligen Part erstellt werden. Wenn man einen Text in der Zeichnungableitung erstellt, hat man den Bezugspfeil auf einer Fläche "Verankert"- (siehe Bild) Kann ich diesen Text automatisch eintragen lassen? Bin für jede Hilfe dankbar! MFG PS: NX5 / VB 2008 Express Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Walter Hogger Moderator Maschinenbauingenieur
Beiträge: 3886 Registriert: 06.10.2000
|
erstellt am: 12. Aug. 2009 14:00 <-- editieren / zitieren --> Unities abgeben: Nur für hg-obdf
Hallo hg-obdf, [QUOTE][Kann ich diesen Text automatisch eintragen lassen? /QUOTE] Welchen Text? Den Komponentenamen, ein Attribut der jeweiligen Komponente? Wir haben derarige Wünsche (Attribute als Callouts an Komponenten ankleben) des öfteren mit GRIP gelöst. Dein "PS" (VB 2008 Express) heisst für mich lediglich, dass ich dir nicht persönlich helfen kann, da ich diese Sprache nicht spreche (ich kann dafür Bayrisch ;-). Ggf. kann aber einer meiner Kollegen oder ein VB-NXOpen-Profis helfen. Technisch klappt es sicherlich. Gruß ------------------ Walter Hogger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
Beiträge: 1564 Registriert: 03.06.2004 SolidWorks2022
|
erstellt am: 12. Aug. 2009 15:53 <-- editieren / zitieren --> Unities abgeben: Nur für hg-obdf
ich bin mir nicht sicher ob es wirklich ein programm dafür benötigt, oder ob es mit standarfdunktionen geht. beschreibe doch etwas genauer im detail wass du machst, und wie du es haben möchtest, schritt für schritt. schon walter hat geschrieben "welches attribut", das ist ein wichtiger hinweis, also welches? ------------------ gruss urs Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 12. Aug. 2009 17:38 <-- editieren / zitieren --> Unities abgeben: Nur für hg-obdf
Hallo hg-obdf, wie Walter und sirus schon zuvor, fehlt auch mir der exakte Input. Generell kannst Du bei der Frage folgende Wege gehen: Entweder die Labels manuell setzen und anschließend ein Program drüber laufen lassen, das den Text ändert oder die Labels komplett mit einem Program machen. In beiden Fällen hilft's, ein Journal aufzuzeichnen und sich den Ablauf und die benutzten Funktionen anzusehen. Hast Du das schon mal gemacht ? Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hg-obdf Mitglied Konstrukteur
Beiträge: 78 Registriert: 30.07.2008 NX7.5 Visual Basic 2010 Express Eclipse
|
erstellt am: 13. Aug. 2009 08:05 <-- editieren / zitieren --> Unities abgeben:
|
ThomasZwatz Ehrenmitglied V.I.P. h.c. cadadmin
Beiträge: 5397 Registriert: 19.05.2000
|
erstellt am: 13. Aug. 2009 12:05 <-- editieren / zitieren --> Unities abgeben: Nur für hg-obdf
Zitat: Original erstellt von hg-obdf: Ich meine den Komponentennamen (im Bild rot eingekreist)
Die Frage ist auch was du genau bezweckst. Wenns um die ID der Komponente geht - und das nehm ich an - würde ich den Komponentennamen in der BGR nicht nehmen denn die ist zwar per default gleich aber das muss nicht so sein (und auch bleiben) denn das ist nur ein Attribut das beim Einfuegen der Komponente befüllt wird und keinerlei Assoziativität besitzt - und auch durch den Anwender jederzeit änderbar ist. Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Siassei Mitglied MB - Student
Beiträge: 490 Registriert: 08.07.2007 SWX NX 3 und höher ;) Windows and UNIX<P>C, C++, Java, Phyton,...</P>
|
erstellt am: 17. Aug. 2009 01:00 <-- editieren / zitieren --> Unities abgeben: Nur für hg-obdf
Servus, du kannst mit z.B. alle Textfelder auf der Zeichnungsseite ermitteln. Sind diese Assoziativ mit einer Komponente verbunden, kann diese ermittelt und z.B. der Name, ein Attribute-Wert, and so on eingetragen werden. Aber, ich stimme meine Vorredner zu. Wir benötigen hier mehr Informationen über den Grund. Zitat: und auch durch den Anwender jederzeit änderbar ist.
Dies ließe sich mit einem Schreibschutz und einem Callback (z.B. beim Speichervorgang) umgehen. Ob das sinnvoll ist, sei mal dahin gestellt. Gruß Thomas ------------------ Hopfen und Mals Gott erhalts Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hg-obdf Mitglied Konstrukteur
Beiträge: 78 Registriert: 30.07.2008 NX7.5 Visual Basic 2010 Express Eclipse
|
erstellt am: 18. Aug. 2009 08:58 <-- editieren / zitieren --> Unities abgeben:
Eigentlich solls einfacher funktionieren wie Positionsnummern mit Teilenamen vergeben- nur eben ohne eine Stückliste zu erstellen. Dabei soll eben auf kein Attribut zurückgegriffen werden. Funktion Text erstellen- der Teilename wird erkannt (müsste man irgendwie aus der Assotiativität heraus bekommen) Text automatisch ausfüllen- Text händisch positionieren- fertig Bei 600-700 Teilen pro Zeichnung wärs schon eine enorme Zeitersparnis. Bis jetzt machen wir das händisch- Ich bin auf der Suche nach einem einfachen und guten Lösungsansatz. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 20. Aug. 2009 09:12 <-- editieren / zitieren --> Unities abgeben: Nur für hg-obdf
Hallo hg-obdf, gleich beim Erstellen von Text/Label den Namen der Komponente zu ermitteln hat einen erheblichen Mehraufwand zur Folge. Daher schlage ich folgenden Ablauf vor: Texte bzw. Labels von Hand mit Default- Text einsetzen Program zum Ändern der Texte starten. fertig Das ist wesentlich einfacher, da auf die Assoziativität über ein bestehendes Label zugegriffen werden kann. Wenn's noch kein Label gibt, gibt's auch keine Assoziativität. Dann muß die Komponente zur Feststellung des Namens extra selektiert und das Label vom Program mit allem drum und dran, wie z.B. Letterung Preferences etc. , eingesetzt werden. Beispielprogram findest Du anbei. Wird über File-> Execute-> NXOpen oder ^U gestartet. Gruß, Michael
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hg-obdf Mitglied Konstrukteur
Beiträge: 78 Registriert: 30.07.2008 NX7.5 Visual Basic 2010 Express Eclipse
|
erstellt am: 20. Aug. 2009 10:18 <-- editieren / zitieren --> Unities abgeben:
|
hg-obdf Mitglied Konstrukteur
Beiträge: 78 Registriert: 30.07.2008 NX7.5 Visual Basic 2010 Express Eclipse
|
erstellt am: 20. Aug. 2009 17:09 <-- editieren / zitieren --> Unities abgeben:
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 21. Aug. 2009 14:03 <-- editieren / zitieren --> Unities abgeben: Nur für hg-obdf
Hallo hg-obdf, zunächst mal danke für die Rückmeldung - schön zu hören, daß es funktioniert. Bezüglich der Lettering- und anderer Preferences werden die, soweit erforderlich, aus dem WorkPart übernommen. Details lassen sich anhand eines protokollierten Journals erkennen. Zum einfachen Ändern von Texten brauchst Du die Preferences nicht zu beachten. Zum Quellcode: Reinstellen können ist keine Frage, das Wollen schon eher. Da es sich um ein Program handelt, das man nicht in ein paar Minuten zusammenschustert und anhand Deines Profils nicht zu erkennen ist, ob Du z.B. für einen Wettbewerber arbeitest, hab' ich in diesem Punkt ein kleines Problem. Aber das läßt sich ja klären (PM, Mail, Telefon). Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hg-obdf Mitglied Konstrukteur
Beiträge: 78 Registriert: 30.07.2008 NX7.5 Visual Basic 2010 Express Eclipse
|
erstellt am: 24. Aug. 2009 12:56 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael- hast recht-ist sicher nicht Sinn der Sache einfach den Code reinzustellen. Wills auch selber hinbekommen. Wie bekomme ich aus einem Label (Tag habe ich) den Text heraus? Oder habe ich da andere Möglichkeiten. Ich finde leider in der Doku nicht das richtige Stichwort, was mich da weiterbringt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 25. Aug. 2009 10:55 <-- editieren / zitieren --> Unities abgeben: Nur für hg-obdf
Hallo hg-obdf, mit dem Tag alleine ist evtl. über eine UF- Funktion (UF_DRF) an den Text zu kommen. Die aus meiner Sicht schnellere, weil bekannte Alternative geht über den NXObjectManager (NXOpen.Utilities). Mit dem Tag wird hier das zugehörige TaggedObject ermittelt. Mit einer Typumwandlung (CTYPE) kannst Du daraus das NXObject und anschließend den Typ Label machen. Das sollte jetzt eine Möglichkeit bieten, auf den Text zuzugreifen. ABER ... warum benutzt Du nicht gleich die passende Collection des Parts ? Wenn z.B. das WorkPart als Dim wp as part = Session.Getsession.parts.work bekannt ist, hast Du über wp.Labels direkten Zugriff auf die Labels - ohne dem Umweg über Cycle und Tag. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hg-obdf Mitglied Konstrukteur
Beiträge: 78 Registriert: 30.07.2008 NX7.5 Visual Basic 2010 Express Eclipse
|
erstellt am: 25. Aug. 2009 16:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael- habe über die Collection jetzt zugriff auf die Labels. Bekomme "Fast" alles heraus was ich brauche- Text ändern funktioniert schon-noch händisch Wie komme ich an die Assotiativität eines Labels? Face bzw. Edge Das fehlt mir noch... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 26. Aug. 2009 09:28 <-- editieren / zitieren --> Unities abgeben: Nur für hg-obdf
|
| CAD-Zeichner | Unser Ingenieurbüro für Brandschutz im Bauwesen beschäftigt rund 60 Mitarbeiterinnen und Mitarbeiter an den Standorten in Kassel, Meschede und Nürnberg. In kollegialer Atmosphäre entwickeln wir deutschlandweit individuelle Brandschutzlösungen. Unser Angebot reicht vom durchdachten, nachhaltigen Brandschutzkonzept über die Erstellung diverser Brandschutzpläne bis zur Mitarbeiterschulung für den betrieblichen Brandschutz.... | Anzeige ansehen | Technischer Zeichner, Bauzeichner |
|
hg-obdf Mitglied Konstrukteur
Beiträge: 78 Registriert: 30.07.2008 NX7.5 Visual Basic 2010 Express Eclipse
|
erstellt am: 26. Aug. 2009 10:06 <-- editieren / zitieren --> Unities abgeben:
|