|
NX Programmierung : Assoziatives Maß verschieben
RobertM am 18.02.2013 um 11:24 Uhr (0)
Hallo,Ich habe ein Maß, welches den Status HasAssociativeOrigin=true besitzt.Unter bestimmten Voraussetzungen muss ich das Maß mitCode:Point3d origin1 = new Point3d(x ,y , 0.0);horizontalDimension1.AnnotationOrigin = origin1;verschieben.Hat jemand eine Idee wie ich HasAssociativeOrigin=false setzen kann.Habe die Reference schon kreuz und quer durchsucht, finde aber keinen Anhaltspunkt.------------------Gruß Robert
|
| In das Form NX Programmierung wechseln |
|
NX Programmierung : Texte verschieben
RobertM am 19.09.2011 um 08:25 Uhr (0)
HalloIch muss Texte auf einer Zeichnung verschieben.Bis jetzt treffe ich die Auswahl über den Objektnamen.z.B.String ObjektName="Bla";NXObject[] objekt1 = null;var alleTexte = (display.Notes.ToArray()).Where(einText = einText.Name == ObjektName);objekt1 = new NXObject[alleTexte.Count()];int ii = 0;foreach (Note einText in alleTexte) { objekt1[ii] = einText; ii++; }objekt1 verschiebe ich dann mit dem MoveObjectBuilderSoweit funktioniert das auch prima.Nun muss ich die Texte aber über ein Fenster aus ...
|
| In das Form NX Programmierung wechseln |
|
NX Programmierung : Texte verschieben
RobertM am 19.09.2011 um 08:25 Uhr (0)
HalloIch muss Texte auf einer Zeichnung verschieben.Bis jetzt treffe ich die Auswahl über den Objektnamen.z.B.String ObjektName="Bla";NXObject[] objekt1 = null;var alleTexte = (display.Notes.ToArray()).Where(einText = einText.Name == ObjektName);objekt1 = new NXObject[alleTexte.Count()];int ii = 0;foreach (Note einText in alleTexte) { objekt1[ii] = einText; ii++; }objekt1 verschiebe ich dann mit dem MoveObjectBuilderSoweit funktioniert das auch prima.Nun muss ich die Texte aber über ein Fenster aus ...
|
| In das Form NX Programmierung wechseln |
|
NX Programmierung : Texte verschieben
RobertM am 26.09.2011 um 10:23 Uhr (0)
Ich habe jetzt eine Lösung. Ich finde sie sehr Umständlich, aber vielleicht geht es ja nicht anders.1. Schleife über alle Tags mit tag1 = theUFSession.Obj.CycleAll(workPart.Tag, tag1);2. dann NXObject nxObjekt1 = (NXObject)NXOpen.Utilities.NXObjectManager.Get(tag1);3. if (nxObjekt1.GetType().ToString() == "NXOpen.Annotations.Note"){ String journalIdentifier1 = nxObjekt1.JournalIdentifier; NXOpen.Annotations.Note note1 = (NXOpen.Annotations.Note)workPart.FindObject(journalIdentifier1); Point3d point3d ...
|
| In das Form NX Programmierung wechseln |
|
NX Programmierung : Texte verschieben
RobertM am 28.09.2011 um 12:13 Uhr (0)
Hallo Michael,natürlich versuche ich den Weg selbst zu finden.Manchmal schaffe ich das halt nicht.z.B. bin ich in der NXObjectList Class dem Hinweis To create a new instance of this class, use Part.CreateObjectList gefolgt.Der führt mich aber zu einer ObjectList.Ich denke NXObjectList ist sowieso nicht richtig. Ich möchte ja die Liste zurück als NXObject[] haben. Die SelectNXObjectList Class scheint da angebrachter zu sein.Allerdings ist der Konstruktor auch protected internal. Da kann ich wieder keine Ins ...
|
| In das Form NX Programmierung wechseln |
|
NX Programmierung : Assoziatives Maß verschieben
RobertM am 18.02.2013 um 13:35 Uhr (0)
Hallo Wladimir,das habe ich schon probiert. Aber solange HasAssociativeOrigin=true ist geht da nichts.------------------Gruß Robert
|
| In das Form NX Programmierung wechseln |
|
NX Programmierung : Assoziatives Maß verschieben
RobertM am 18.02.2013 um 14:16 Uhr (0)
Hallo Wladimir,jetzt habe ich es kapiert.mitCode:assocOrigin1.OriginType = annotations.AssociativeOriginType.Drag;funktioniert es.Danke------------------Gruß Robert
|
| In das Form NX Programmierung wechseln |
|
NX Programmierung : Texte verschieben
RobertM am 23.09.2011 um 08:48 Uhr (0)
Hallo Michael,kannst du mir bitte mehr Info zur Cycle- Funktionen in der UFSession geben. Vielleicht mit Beispiel. Mir sagt das gar nichts. Bin ja erst am lernen.------------------Gruß Robert
|
| In das Form NX Programmierung wechseln |
|
NX Programmierung : Texte verschieben
RobertM am 23.09.2011 um 08:48 Uhr (0)
Hallo Michael,kannst du mir bitte mehr Info zur Cycle- Funktionen in der UFSession geben. Vielleicht mit Beispiel. Mir sagt das gar nichts. Bin ja erst am lernen.------------------Gruß Robert
|
| In das Form NX Programmierung wechseln |
 CNX_FindAndMove.txt |
NX Programmierung : Texte verschieben
RobertM am 30.09.2011 um 08:42 Uhr (0)
Nachdem hier so viel geschrieben und mitgelesen wurde, möchte ich einfach mal meine neue Klasse hier reinstellen.Vielleicht kann sie ja jemand, wenigstens teilweise, verwenden.Die logFile.WriteLine aufrufe müssen ggf. durch ListingWindow ersetzt werden.Für Tipps zur Verbesserung der Programmierung an sich bin ich immer dankbar.------------------Gruß Robert
|
| In das Form NX Programmierung wechseln |
|
NX Programmierung : Texte verschieben
RobertM am 23.09.2011 um 13:01 Uhr (0)
Hallo Michael,ich habe mich die letzen 2 Jahre die wenigste Zeit mit NX-Open beschäftigt, sondern erst einmal in meiner Freizeit C# gelernt.Eigentlich bin ich auch Konstrukteur und kein Programmierer.Als ich in der Suche cycle und nicht cycleobjects eingegeben habe, habe ich 77 Treffer bekommen. Da bin ich einfach überfordert das richtige rauszufiltern.Vielleicht wirds ja mal besser. Ich gebe die Hoffnung nicht auf.------------------Gruß Robert
|
| In das Form NX Programmierung wechseln |
|
NX Programmierung : Texte verschieben
RobertM am 29.09.2011 um 13:34 Uhr (0)
Hallo Michael,Danke für deine Geduld.Genau so habe ich es mit deiner Hilfe hinbekommen.Ich habe eine Klasse mit der Methodepublic void VerschiebeObjekte(Point3d StartPunkt, Point3d EndPunkt, NXObject[] Object1) Nun wollte ich von meiner aufrufenden Methode alle gesammelten Objecte übergeben.Drum die Anstrengung meinerseits. Es ist aber nicht zwingend notwendig.Drum lasse ich es jetzt wie es ist.------------------Gruß Robert
|
| In das Form NX Programmierung wechseln |
|
NX Programmierung : Texte verschieben
RobertM am 23.09.2011 um 06:29 Uhr (0)
Hallo Michael,so läuft es momentan auch ab.Das Programm unterbricht für die Auswahl meiner Objekte.mitNXObject[] selobjekts = null;Selection.Response resp1 = theUI.SelectionManager.SelectObjects("Auswahl", "Title", Selection.SelectionScope.AnyInAssembly, false, true, out selobjekts);Das sind im übrigen nicht nur Texte, sondern auch Linien und Anwenderdefinierte Symbole (im grunde alles was im Schriftkopf ist und nicht aus Teamcenter kommt).Dann läuft das Programm weiter ab.Ist halt schade das ich das Tool ...
|
| In das Form NX Programmierung wechseln |