Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX
  kantenverrundung in ug-open

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:  kantenverrundung in ug-open (570 mal gelesen)
drcmda
Mitglied



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

Beiträge: 176
Registriert: 10.07.2002

erstellt am: 25. Feb. 2004 15:55    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

alles was ich will ist an die kanten eines blend features zu gelangen.
das handle des features habe ich und die funktion:
UF_MODL_ask_edge_blend ( feature, &blend_data ) gibt mir auch brav
alle weiteren info's die ich benötige allerdings scheint in der
zurückgegeben struktur nur EINE kante gespeichert sein. das komische
an der sache ist dann aber das "number_edges" attribut, das mir laut
referenz die anzahl aller kanten mitteilt, macht es auch, 3, was mit
meinem testmodell übereinstimmt aber wo zum geier befinden sich jetzt
die letzten zwei kanten? benutze ich die falsche funktion, zeigt
"edge_data" auf ein array, habe ich irgendetwas vergessen? ich hoffe
jemand könnte mir hier weiterhelfen...

mit freundlichen grüßen,
paul

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

drcmda
Mitglied



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

Beiträge: 176
Registriert: 10.07.2002

erstellt am: 25. Feb. 2004 17:03    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

ich stelle gerade fest es IST ein array und man kommt voran indem man
die größe der "UF_MODL_blend_edge_s struktur" zu "edge_data" addiert.
tolle sache mal wieder - die ugs doku ist wirklich das letze. wenn
"UF_MODL_edge_blend_data_s" jetzt aber eine variable struktur ist wie
mache ich dann den speicher wieder frei? und das wichtigste, was mache
ich jetzt mit diesen edge tags, ich habe bisher noch nichts gefunden
um irgendwelche informationen auszulesen... es ist wirklich zum
verzweifeln

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

stefan.f
Mitglied



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

Beiträge: 126
Registriert: 03.09.2002

erstellt am: 26. Feb. 2004 07:26    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 drcmda 10 Unities + Antwort hilfreich

Hallo Paul.

Infos zu den Kanten bekommst du mit

UF_MODL_ask_edge_type
Anhand des Typs lassen sich dann die Geometriedaten auslesen

bsp:

  UF_MODL_ask_edge_type (edge_id,&typ);
  if (typ == UF_MODL_LINEAR_EDGE)
  {
      UF_CURVE_line_s line_coords;
      UF_CURVE_ask_line_data (edge_id,&line_coords);
  }
  if (typ == UF_MODL_CIRCULAR_EDGE)
      .......


Ich hoffe das Hilft die weiter.

Gruß Stefan

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

stefan.f
Mitglied



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

Beiträge: 126
Registriert: 03.09.2002

erstellt am: 26. Feb. 2004 07:32    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 drcmda 10 Unities + Antwort hilfreich

OK noch n Tipp:

Ist aus einem UG-Bsp:

int
        ii;
    tag_t
        blend;
    UF_MODL_edge_blend_data_t
        blend_data;

    while (((blend = select_a_feature("Select an edge blend")) != NULL_TAG) &&
            !UF_CALL(UF_MODL_ask_edge_blend(blend, &blend_data)))
    {
        WRITE_D(blend_data.number_edges);

        for (ii = 0; ii < blend_data.number_edges; ii++)
            if (blend_data.edge_data[ii].number_points > 0)
                UF_free(blend_data.edge_data[ii].point_data);

        UF_free(blend_data.edge_data);
    }


Ein Hoch auf die Doku 
Aber die Bsp. bei UGAnswer sind echt klasse.

Gruß
  Stefan

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

drcmda
Mitglied



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

Beiträge: 176
Registriert: 10.07.2002

erstellt am: 26. Feb. 2004 14:38    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

haha nicht zu glauben man muß dieses array selbst freimachen? ich wäre
auch NIE darauf gekommen die edge daten mit den curve APIProgrammier- und Anwendungsschnittstelle (Application Programming Interface)'s auszulesen
also ja das ganze hat mir SEHR geholfen 

vielen vielen dank!

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

drcmda
Mitglied



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

Beiträge: 176
Registriert: 10.07.2002

erstellt am: 26. Feb. 2004 15:11    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

noch eine sache... gibt es einen grund warum "UF_MODL_ask_edge_type"
mir immer 0 zurückgibt? auch bei kreisförmigen kanten... laut den ugs
headerdateien sollte ich allerdings werte im 3000er bereich bekommen.
meine vermutung ist, das die eigentlichen kanten NACH der verrundung
ja weg sind aber da liege ich doch (hoffentlich) falsch oder?

Code:

UF_MODL_edge_blend_data_s blend_data;
UF_MODL_ask_edge_blend ( feature, &blend_data );

for ( long index = 0; index < blend_data.number_edges; index++ )
{
    UF_MODL_blend_edge_s * edge = &blend_data.edge_data[index];

    int edge_type;
    UF_MODL_ask_edge_type ( edge->edge, &edge_type );

    // geometrie auslesen (??) edge_type ist allerdings immer 0
   
    if ( edge->number_points > 0 )
        UF_free( edge->point_data );
}

UF_free( blend_data.edge_data );


edit: eine sache die noch lustig ist: ich komme wohl an die geometrie
einer kante mit den curve funktionen, allerdings halt nur weil ich ja
weiß um welche kanten es sich handelt. allerdings muß das ganze
variabel so so das ich einfach ein modell lade und automatisch alle
blend features samt kanten analysiert werden... und dafür werde ich
wohl an "UF_MODL_ask_edge_type" nicht vorbeikommen denke ich nur war
ich bis jetzt nicht in der lage den fehler zu finden 

[Diese Nachricht wurde von drcmda am 26. Feb. 2004 editiert.]

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

stefan.f
Mitglied



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

Beiträge: 126
Registriert: 03.09.2002

erstellt am: 27. Feb. 2004 08:06    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 drcmda 10 Unities + Antwort hilfreich

Die Funktion UF_MODL_ask_edge_type scheint bei blend features wirklich nicht zu funktionieren.
Aber UF_EVAL... funktionieren dafür:

UF_EVAL_p_t evaluator;
logical is_line;
UF_EVAL_initialize (blend_data.edge_data[ii].edge,&evaluator);
UF_EVAL_is_line (evaluator,&is_line); // TRUE bei gerade
UF_EVAL_is_arc (....)
UF_EVAL_free (evaluator);

Die Parameter lassen sich dann mit UF_EVAL_ask_line oder UF_CURVE_ask_line_data  auslesen

Gruß
  Stefan

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

drcmda
Mitglied



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

Beiträge: 176
Registriert: 10.07.2002

erstellt am: 27. Feb. 2004 14:13    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

sehr gut vielen dank ich probiers gleich aus 

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)2024 CAD.de | Impressum | Datenschutz