Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Copy/Pasten und Gruppierte Kurven

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
Autor Thema:  Copy/Pasten und Gruppierte Kurven (2012 mal gelesen)
gfx-toxic.de
Moderator
Konstruktion / Anwenderbetreuung


Sehen Sie sich das Profil von gfx-toxic.de an!   Senden Sie eine Private Message an matthias-p  Schreiben Sie einen Gästebucheintrag für matthias-p

Beiträge: 501
Registriert: 09.06.2006

Teamcenter 11.3 / NX 11
Windows 10

erstellt am: 17. Feb. 2011 07:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo die Herren,

ich komme mal wieder nicht weiter.
Ich erstelle durch einen DynamicSectionBuilder einen "2D Schnitt" und extrahiere die Kurven.

Code:
dynamicSectionBuilder.SaveCurves("Section");


nun möchte ich die Kurven die ich eben erzeugt habe mit Copy und Paste in ein anderes
Teil einfügen.

Ich habe einen Namespaces > NXOpen.Features > CopyPasteBuilder gefunden.
"Memory Access Exception"
Irgendwie bekomm ich das damit nicht hin.
Und wie kann ich eine Gruppe per Namen ansprechen?

Code:
Group lines = workPart.FindObjects("Gruppenname");

geht leider nicht weil ich so den Namen net bekomm?!

Hat jemand eine Idee für die 2 Probleme?

Vielen Dank im voraus.

------------------
Gruß Matthias
------------------------------------
ICQ: 163190295

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Walter Hogger
Moderator
Maschinenbauingenieur


Sehen Sie sich das Profil von Walter Hogger an!   Senden Sie eine Private Message an Walter Hogger  Schreiben Sie einen Gästebucheintrag für Walter Hogger

Beiträge: 3886
Registriert: 06.10.2000

erstellt am: 17. Feb. 2011 09:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für gfx-toxic.de 10 Unities + Antwort hilfreich

Hallo Matthias,

geht das denn interaktiv?

Gruß

------------------
Walter Hogger

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

gfx-toxic.de
Moderator
Konstruktion / Anwenderbetreuung


Sehen Sie sich das Profil von gfx-toxic.de an!   Senden Sie eine Private Message an matthias-p  Schreiben Sie einen Gästebucheintrag für matthias-p

Beiträge: 501
Registriert: 09.06.2006

Teamcenter 11.3 / NX 11
Windows 10

erstellt am: 17. Feb. 2011 09:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

naja was heißt interaktiv.
Mal kurz zum Endprodukt.
Ich bin in der Konstruktion von Teil A.
Ich möchte jetzt das NX Teil B aufruft (erledigt) dann
die 2D Linien erzeugt (erledigt) (es wird immer die XY durch den Nullpunkt genommen dann
die Gruppe mit dem Namen "DynamicSection" in die Zwischenablage kopiert (ja naja teilweise erledigt, ich habe
es jetzt zumindest schon geschafft den Gruppennamen auszulesen und hab somit den Tag) und dann zurück ins
Teil A springen und Einfügen (nicht erledigt ;-) ).

Anbei der Code zum erstellen des Schnittes und durchlaufen der Gruppen.
Jetzt wäre das mit dem Copy und Paste nicht schlecht.

Und interaktiv ja, der Benutzer kann angeben von welchem Teil er den Schnitt haben will...

Gruß

Code:

            NXOpen.Session.UndoMarkId mark = session.TheSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Create Section");

            NXOpen.Display.DynamicSection nullDisplay_DynamicSection = null;
            NXOpen.Display.DynamicSectionBuilder dynamicSectionBuilder;
            dynamicSectionBuilder = session.WorkPart.DynamicSections.CreateSectionBuilder(nullDisplay_DynamicSection, session.WorkPart.ModelingViews.WorkView);

            Point3d origin = new Point3d(0.0, 0.0, 0.0);
            Vector3d normal = new Vector3d(0.0, 0.0, 1.0);
            Plane plane = session.WorkPart.Planes.CreatePlane(origin, normal, NXOpen.SmartObject.UpdateOption.AfterModeling);
            plane.SetMethod(NXOpen.PlaneTypes.MethodType.Coincident);

            NXOpen.Section section = session.WorkPart.Sections.CreateSection(0.02413, 0.0254, 0.5);

            Unit unit = (Unit)session.WorkPart.UnitCollection.FindObject("MilliMeter");
            Expression expression = session.WorkPart.Expressions.CreateSystemExpressionWithUnits("0", unit);

            dynamicSectionBuilder.ShowClip = true;

            dynamicSectionBuilder.CsysType = NXOpen.Display.DynamicSectionTypes.CoordinateSystem.Absolute;

            Point3d origin1 = new Point3d(0.0, 0.0, 0.0);
            dynamicSectionBuilder.SetOrigin(origin1);

            dynamicSectionBuilder.SaveCurves("Section");

            dynamicSectionBuilder.RestoreView();

            dynamicSectionBuilder.Destroy();

            section.Destroy();
            session.WorkPart.Expressions.Delete(expression);
            session.WorkPart.FacetedBodies.DeleteTemporaryFacesAndEdges();
            plane.DestroyPlane();


            Tag groupTag = Tag.Null;
            do
            {
                session.TheUFSession.Obj.CycleObjsInPart(session.WorkPart.Tag, NXOpen.UF.UFConstants.UF_group_type, ref groupTag);

                if (groupTag != null)
                {
                    Group group = (Group)NXOpen.Utilities.NXObjectManager.Get(groupTag);
                    GroupBuilder groupBuilder = session.WorkPart.CreateGatewayGroupBuilder(group);

                    session.LogListingWindowWrite(group.Name.ToString());

                    TaggedObject[] members = groupBuilder.ObjectsInGroup.GetArray();
                    if (members != null)
                    {
                        for (int i = 0; i < members.Length; i++)
                        { session.LogListingWindowWrite("Member " + members[i].ToString()); }
                    }

                    groupBuilder.Destroy();
                }

            } while (groupTag != Tag.Null);


------------------
Gruß Matthias
------------------------------------
ICQ: 163190295

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



CAD- / CAM-Techniker (w/m/d)

CeramTec ist ein führender Entwickler und global aktiver Hersteller und Lieferant von Spezial­lösungen aus Hoch­leistungs­keramik mit mehr als 3.400 Mitarbeitern.

Unsere Lösungen sind welt­weit im Fahr­zeug- und Maschinen­bau, in der Medizin­technik, der Elektronik, der Luft- und Raum­fahrt­technik und der Energie- und Umwelt­technik im Einsatz. Willkommen bei den Keramik-Experten.

Für ...

Anzeige ansehenElektrotechnik, Elektronik
Walter Hogger
Moderator
Maschinenbauingenieur


Sehen Sie sich das Profil von Walter Hogger an!   Senden Sie eine Private Message an Walter Hogger  Schreiben Sie einen Gästebucheintrag für Walter Hogger

Beiträge: 3886
Registriert: 06.10.2000

erstellt am: 17. Feb. 2011 11:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für gfx-toxic.de 10 Unities + Antwort hilfreich

Zitat:
Ich hoffe, der Michael liest das und kann helfen ;-)

Gelesen ja, hab' aber keine Idee, die schnell helfen könnte. Damit bliebe nur, das Ganze Schritt für Schritt durchzuspielen. Und dafür fehlt mir im Moment schlichtweg die Zeit.

Gruß, Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz