Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  LISP: berechnete Werte auf Zeichnung

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 PTC CREO
Autor Thema:  LISP: berechnete Werte auf Zeichnung (3875 mal gelesen)
holt
Mitglied
Systembetreuer CAD


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

Beiträge: 713
Registriert: 07.08.2003

Corei7 3770K, Win7-64, 16GB
PNY Quadro 2000K
CoCreate Modeling 18.10
CoCreate Drafting 18.10
CoCreate ModelManager 18.10

erstellt am: 09. Nov. 2007 11:56    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,

wir müssen bei Teilen, die mit speziellen Beschichtungsverfahren behandelt werden, die Oberfläche des Teils auf die Zeichnung schreiben. Dadurch kann ein Einkäufer verschiedene Angebote leichter vergleichen.
Ich habe auch bereits ein Progrämmchen geschrieben, mit dem man verschiedene Werte eines Teils (Volumen, Oberfläche, Masse, Dichte) als "dummen" Text auf die Zeichnung setzen kann.

Wenn aber der zugrundeliegende Teil geändert wird, stimmt natürlich der Text auf der Zeichnung nicht mehr.
Frage: Gibt es eine Möglichkeit, solche Texte mit einer "Intelligenz" zu versehen, also eine Funktion daranzuhängen, die jedesmal beim Aktualisieren der Zeichnung angestoßen wird und den Text korrigiert?

------------------
Gruß aus dem Salzkammergut

Thomas Hollerweger

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

Dieter Kotsch
Mitglied



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

Beiträge: 311
Registriert: 10.08.2002

erstellt am: 12. Nov. 2007 14:20    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 holt 10 Unities + Antwort hilfreich

HI

Die Idee finde ich interessant
Du könntest deinen Text mit einer Info versehen, an den Aktualisieren Post Event eine Funktion triggern, die nach dem Aktualisieren die benötigten Werte ermittelt und den Text auf der Zeichnung aktualisiert.

Grüße

Dieter

------------------
nichts ist unmöglich 

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

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


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

Beiträge: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 13. Nov. 2007 21: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 holt 10 Unities + Antwort hilfreich

Informiere Dich ueber text Referenzen.

Die Seitenzahl, die Zeichnungnummer, der Blatt Massstab aber auch saemtliche informationen einer BOM (STüli) werden über Textreferenzen aktualisiert.

Grobes Prinzip: 1) text als Platzhalter mit Info dran, 2) info verweist auf Lisp funktion, 3) LISP funktion liefert String fuer Text (das kann irgendwas sein, (z.b. die Dichte eines Teiles)). 4) LISP funktionen werden ueber ein Event angestriggert.

------------------
Seamonkey Firefox Thunderbird  Seamonkey auf deutsch

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 713
Registriert: 07.08.2003

Corei7 3770K, Win7-64, 16GB
PNY Quadro 2000K
CoCreate Modeling 18.10
CoCreate Drafting 18.10
CoCreate ModelManager 18.10

erstellt am: 14. Nov. 2007 07:50    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!

Danke für Eure Anregungen!
So läßt sich das schon machen.

@Wolfgang: Deine Beschreibung entspricht im wesentlichen der von Dieter, oder?

------------------
Gruß aus dem Salzkammergut

Thomas Hollerweger

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

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


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

Beiträge: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 14. Nov. 2007 19:52    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 holt 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von holt:
@Wolfgang: Deine Beschreibung entspricht im wesentlichen der von Dieter, oder?
[/i]

nnnnnjnnjjaaa etwas.. <rumdrucks>  Also meine Beschreibung ist (denke ich mal ) deutlich naeher dran an dem, was Dir Annotation von Hause aus bietet. Ich meinen es gibt auch ein brauchbares Beispiel in der OnlineDoku (im Bom/TitleBlcok bereich). Mit sicherheit gabe es mal ein Tutorial fur die Schriftfeldanpassung (auch, aber nicht nur) im Zusammenhang mit DDM.  Du bräuchtest dich *nicht* um das Aussammlen der  in der Zeichnung verstreuten texts zu kümmern, denn das können 'diese text refenzen' einfach von Natur aus, sozusagen.

------------------
Seamonkey Firefox Thunderbird  Seamonkey auf deutsch

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 713
Registriert: 07.08.2003

Corei7 3770K, Win7-64, 16GB
PNY Quadro 2000K
CoCreate Modeling 18.10
CoCreate Drafting 18.10
CoCreate ModelManager 18.10

erstellt am: 15. Nov. 2007 12:08    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

Zitat:
Original erstellt von der_Wolfgang:
Ich meinen es gibt auch ein brauchbares Beispiel in der OnlineDoku (im Bom/TitleBlcok bereich). Mit sicherheit gabe es mal ein Tutorial fur die Schriftfeldanpassung (auch, aber nicht nur) im Zusammenhang mit DDM.   Du bräuchtest dich *nicht* um das Aussammlen der  in der Zeichnung verstreuten texts zu kümmern, denn das können 'diese text refenzen' einfach von Natur aus, sozusagen.

Hallo,

das sind aber gute Neuigkeiten! Und von einer Doku bezüglich TitleBlock hab ich bisher auch nichts gefunden. Mal sehen!
Das Tutorial wäre natürlich auch ein Hit. Wo gabs/gibts das?

Danke!

------------------
Gruß aus dem Salzkammergut

Thomas Hollerweger

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 713
Registriert: 07.08.2003

Corei7 3770K, Win7-64, 16GB
PNY Quadro 2000K
CoCreate Modeling 18.10
CoCreate Drafting 18.10
CoCreate ModelManager 18.10

erstellt am: 19. Nov. 2007 14: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

Hallo,

die Doku hab ich jetzt gefunden (war gar nicht so schwer zu finden).

Jetzt stehe ich aber vor einem anderen Problem:
Wie kann ich der Funktion sagen, von welchem Teil die Werte berechnet werden sollen? Der Text gehört entweder zum Rahmen oder zur Zeichnung.
Über den Weg: Ansicht -> Ansichtssatz kann man das zugehörige Modell abfragen.
Da aber auf einer Zeichnung mehrere Ansichtssätze sein können, wirds schwierig.
Mit aktivem Ansichtssatz arbeiten ist gefährlich, da man einen beliebigen Ansichtssatz aktiv setzen kann.

Man müßte dem Text eine Info anhängen, um welchen Teil es sich handelt.
Die Frage ist nur: welche Info soll ich anhängen?
- Ergebnis von sd-inq-obj-contents-sysid: funktioniert nur, wenn das Modell beim Nächsten mal in der obersten Ebene liegt und nicht nur in einer Baugruppe.
- Ergebnis von sd-inq-obj-sysid: funktioniert nur, wenn der Teil nicht in eine andere Baugruppe verschoben wurde
- sel-item: kann wahrscheinlich gar nicht an einen Text angehängt werden

Und: Die TB-Funktionen aktualisieren jeden Text, der auf der Zeichnung steht und der entsprechenden TB-Art zugeordnet ist. Ich dürfte also nur 1 Text mit der gleichen TB-Art je Zeichnung erstellen. Oder anders gesagt: Jeder Text mit der gleichen TB-Art bekommt den gleichen Inhalt, unabghängig davon, für welchen Teil auf der Zeichnung er erstellt wurde.

------------------
Gruß aus dem Salzkammergut

Thomas Hollerweger

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

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


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

Beiträge: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 19. Nov. 2007 22:02    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 holt 10 Unities + Antwort hilfreich

Im Stücklistenbereich gibt es den Zusammenhang zum Teil. Evtl. mal mehr in diese Richtung weitergucken. Textreferenzen werden beim Schriftfeld als auch bei der Stückliste eingesetzt.

----------------------------

Auf die Gefahr hin dich noch mehr zu verwirren (oder geht's noch?  )

kennst Du: DOCU-POST-UPDATE-VIEW-EVENT?
Annotation Integration Kit Index -> Standard Annotation Events

Dort hast Du die 3D Ansicht in der Hand (:V3D), "Grosseltern" der Ansicht, ist Dein Teil. Zum anderen hast Du direkt die Unique-Part-ID (:UPN) der 2D-Ansicht in der Hand (Drafting Kenntnisse sind wie immer von Vorteil)

Damit kannst Du deine 'dummen' Texte ebenfalls updaten. Empfehlen wuerde ich, wohl alle Texte in einen Sketch zu stecken, dann hat man die Entsorgung schnell erledigt.

-------------------------------------------

Da Du die 1500 nutzt waere auch die Verwendung des Oberflächensymbols innerhalb 3D Docu ein evtl Lösungsansatz. Die 1500 kann auch aus einer 2D view die passende Dokumentationsebene erzeugen (auf der Du dann das OF-Symbol im 3D ablegst)

-------------------------------------------

Wenn ich mir deine Orginalfrage noch mal anschaue, denke ich  Du wirst zum DOCU-POST-UPDATE-VIEW-EVENT greifen, die Infos vom Teil abfragen und auf die Zeichnung klatschen.

Tip: zum initialen Platzieren evlt. eine Skizzen Vorlage verwenden (+ 1 Viewupdate) oder eben selber ein ADD on schreiben, das die Plazierung geschickt anbietet und den 1. Update der Informationen dann intern antriggert, ohne Viewupdate. Wenn in der Skizzen Vorlage aber ein Text "Ansicht aktulisieren" drin steht, der beim ersten DOCU-POST-UPDATE-VIEW-EVENT dann geloescht wird......      ok. Alles nur Anregungen.

So, nun mach was draus ;-)

------------------
Seamonkey Firefox Thunderbird  Seamonkey auf deutsch

[Diese Nachricht wurde von der_Wolfgang am 19. Nov. 2007 editiert.]

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 713
Registriert: 07.08.2003

Corei7 3770K, Win7-64, 16GB
PNY Quadro 2000K
CoCreate Modeling 18.10
CoCreate Drafting 18.10
CoCreate ModelManager 18.10

erstellt am: 21. Nov. 2007 09:01    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

Zitat:
Original erstellt von der_Wolfgang:
Auf die Gefahr hin dich noch mehr zu verwirren

Nein, ganz im Gegenteil: Deine Hinweise sind sehr hilfreich.

Mit dem DOCU-POST-UPDATE-VIEW-EVENT zu arbeiten ist sicherlich eine gute Wahl. Dass man hier hier die benötigten Parameter (:V3D, ...) bekommt ist sehr gut. (Darauf wäre ich ohne dich nie gekommen!)

Dein Tip am Ende ist auch sehr wertvoll.

Trotzdem ist mir noch nicht klar, welche Info zur Ansicht wohl am dauerhaftesten ist und deshalb an den Text angehängt werden soll.
Der Text soll ja nicht ständig (z.B. bei jedem Ladevorgang oder wenn der zur Ansicht gehörige Teil in einer anderen Baugruppe geladen wurde) die Verbindung zur Ansicht verlieren.
Anmerkung: Ich hätte als Besitzer für den Text das Blatt oder eine Skizze im Blatt angegeben.


  • :V2D und :V3D liefern sel-items. Die kann man nicht als Info anhängen.
  • SYSID der Ansicht?
  • SYSID des Teils?
  • CONTENTS-SYSID des Teils?
  • :UPN liefert zwar die derzeit eindeutige Nummer des ME10-Teils. Aber bleibt die in jeder ANNO-Session gleich?

Wie gesagt: Die Frage ist, ob diese Infos in einer neuen Sitzung immer gleich oder überhaupt abfragbar sind.
z.B.


  • sd-sysid-to-obj liefert NIL, wenn die CONTENTS-SYSID angegeben wird
  • andererseits weiß ich nicht, ob die Exemplar-Sysid immer gleich ist, egal in welcher Baugruppe sich der Teil gerade befindet

------------------
Gruß aus dem Salzkammergut

Thomas Hollerweger

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

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


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

Beiträge: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 21. Nov. 2007 21:37    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 holt 10 Unities + Antwort hilfreich

> Nein, ganz im Gegenteil: Deine Hinweise sind sehr hilfreich.
fein, freut mich.

Aber Dieter schrieb schon :  "...an den Aktualisieren Post Event eine Funktion .." 

>Trotzdem ist mir noch nicht klar, welche Info zur Ansicht wohl am dauerhaftesten ist und deshalb an den Text angehängt werden soll.

Mir ist hier auch einiges nicht ganz klar.. nemmmmlich: im Detail was du machen willst! 

>Der Text soll ja nicht ständig (z.B. bei jedem Ladevorgang oder wenn der zur Ansicht gehörige Teil in einer anderen Baugruppe geladen wurde) die Verbindung zur Ansicht verlieren.
unklar. 

  • >:V2D und :V3D liefern sel-items. Die kann man nicht als Info anhängen.
    ja.

  • >SYSID der Ansicht?
  • >SYSID des Teils?
    kommt darauf an von wo die info kommt, würde ich mal so sagen...

  • >:UPN liefert zwar die derzeit eindeutige Nummer des ME10-Teils. Aber bleibt die in jeder ANNO-Session gleich?
    NEIN!  Nicht mal IN einer session, denn Du aktualisierst Deine Ansicht ja auch mal, oder etwa nicht?


    >Wie gesagt: Die Frage ist, ob diese Infos in einer neuen Sitzung immer gleich oder überhaupt abfragbar sind.
    NA, was macht denn deine Funktion, die die "dummen" texte liefert? Ist die schon nicht verlässlich? 


    Rück mal noch mehr infos raus. Hänge mal eine reduzierte Version der "mach-dummen-text" funktion an, damit wir sehen was Du von von abzufragen gedenkst und wo hin schreibeln willst.  Mir fehlt da das Konzept drum rum.

    ------------------
    Seamonkey Firefox Thunderbird  Seamonkey auf deutsch

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

  • holt
    Mitglied
    Systembetreuer CAD


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

    Beiträge: 713
    Registriert: 07.08.2003

    Corei7 3770K, Win7-64, 16GB
    PNY Quadro 2000K
    CoCreate Modeling 18.10
    CoCreate Drafting 18.10
    CoCreate ModelManager 18.10

    erstellt am: 07. Dez. 2007 12:47    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


    AM_Teilemasse_Makrovariante.txt

     
    Um jetzt bei diesem Beitrag weiterzumachen:

    Wie in diesem Thread http://ww3.cad.de/foren/ubb/Forum92/HTML/000400.shtml#000012
    zu lesen, funktioniert mein Programm aufs erste einmal.

    Die Frage, die mich aber noch immer beschäftigt:
    Wie dauerhaft sind die Infos, die ich an die Texte drangehängt habe?
    Kann der zum Text zugehörige Teil auch nach 3 Jahren noch ermittelt werden, obwohl er dann in einer ganz anderen Baugruppe geladen wird?

    Kann mir das jemand sagen?

    Wie im Programm ersichtlich, verwende ich das Ergebnis von sd-inq-obj-sysid als Verknüpfungsinfo.

    ------------------
    Gruß aus dem Salzkammergut

    Thomas Hollerweger

    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