Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Modeling
  Bemassungstext kopieren

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:  Bemassungstext kopieren (3117 mal gelesen)
Jako
Mitglied
Werkzeugmacher, Kostruktion


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

Beiträge: 84
Registriert: 20.11.2009

Solid Designer / Annotation
Version: 16.50

erstellt am: 09. Jan. 2018 08:49    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


Bemassungstext.JPG

 
Guten Morgen alle zusammen,

mein Anliegen wie folgt:
Wir bauen Spritzgusswerkzeugen und haben nach dem Neubau eines Werkzeugs auch Korrekturschleifen.
Das bedeutet das wir Masse nach Messbericht einstellen müssen.
Also, wenn ich Masse im 3D ändere, muss ich die geänderten Masse
im 2D mit einem Index versehen und hinter dem Index das alte Mass
als durchgestriches aufschreiben (siehe Anhang). Das macht sehr viel Arbeit.
Hat jemand evtl. ein Lisp mit dem man einen Bemassungstext kopieren
kann.
Meine Vorstellung ist folgende: Ich klicke einen Bemassungstext an, dieser Text wird kopiert und automatisch mit einem kleinen Abstand neben dem alten Text abgelegt. Ideal wäre es wenn zwischen dem neuen und alten Mass noch ein Indext eingefügt werden könnte, siehe Anhang.
Wenn der Index auch noch automatisiert werden könnte, wäre genial.
Kurz gesagt:
1. Vorhandenen Bemassungstext anklicken
2. Index wird hinter den Bemassungstext gesetzt
3. Anschließend hinter den Index wird der angeklikte Bemassungstext 
  gesetzt, als durchgestrichenes Mass, siehe Anhang. (Einen Schriftfont als durchgestrichen, habe ich.)

Da ich kein Programmierer bin, meine Frage, ob jemand evtl. schon
sowas in der Art hat oder bereit wäre diese Aufgabe zu lösen?
Vieln Dank für jede Hilfe im Voraus.

Gruß
Eugen

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

Gero Adrian
Mitglied
MBA, Dipl.Ing.


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

Beiträge: 528
Registriert: 13.12.2000

Ihr Berater
Klietsch Partner

erstellt am: 24. Jan. 2018 08:24    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 Jako 10 Unities + Antwort hilfreich

Hi

Problem wird sein, das in dem Moment, in dem das 3D Modell geändert wurde, das "alte" Maß weg ist. Dann wird es beim Abgreifen schwierig.

------------------
Grüssle

Gero

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

Jako
Mitglied
Werkzeugmacher, Kostruktion


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

Beiträge: 84
Registriert: 20.11.2009

Solid Designer / Annotation
Version: 16.50

erstellt am: 29. Jan. 2018 07:44    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,
ich greife die Masse im 2D ab bevor ich aktuallisiere. Insofern
schein es mir nicht das Problem zu sein.

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

PeterO
Mitglied
Admin


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

Beiträge: 101
Registriert: 14.01.2003

erstellt am: 30. Jan. 2018 12: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 Jako 10 Unities + Antwort hilfreich


bem_copy.jpg


gdm_anno_dim_copy.txt

 
Hallo,
du könntest die Bemaßung auslesen und in den Postfix oder Superfix schreiben (siehe Beispiel).

------------------
Gruß,
Peter

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

Jako
Mitglied
Werkzeugmacher, Kostruktion


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

Beiträge: 84
Registriert: 20.11.2009

Solid Designer / Annotation
Version: 16.50

erstellt am: 31. Jan. 2018 15:49    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


hp_i3098_c_durchgestrichen-Kopie_fnt.txt

 
Hallo Peter,

habe dein Lisp getestet, macht fast das was ich brauche.
1. Bemassung wird korrekt kopiert
2. Index muss fest wählbar sein. Wenn ich die erste Korrektuschleife
  bearbeite, bekommen alle geänderten Masse Index (1). Der Index
  sollte in einen Kreis und nicht in eine Klammer eingebettet sein.
3. Die kopierte Bemassungszahl sollte als durchgestrichene Zahl
  dargestellt sein. Der Index nicht.
4. Dann muss es wahlweise, entweder für den prefix oder postfix 
  anwendbar sein, weil ich bei der Koordinatenbemassung mal links mal
  rechts die kopierten Masse setze. Das kopierte Mass kommt immer
  nach aussen.
5. Einen Schriftfont als "durchgestrichen" habe ich dazu angehängt.

Das ganze mit einem Klick zu realisieren, schein mir schwierig zu sein. Daher folgender Gedanke:
1. Ein Lisp mit dem ich nur den Index hinter alle Masse setze.
2. Ein weiteres Lisp womit ich die Bemassung kopiere.
3. Das ganze in einer Maske mit zwei Knöpfen "Index setzen" "Bemassung
  kopieren"
Wenn das möglich ist wäre super. Ich danke herzlich für deinen Einsatz.

Gruß, Eugen

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

PeterO
Mitglied
Admin


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

Beiträge: 101
Registriert: 14.01.2003

erstellt am: 31. Jan. 2018 17: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 Nur für Jako 10 Unities + Antwort hilfreich


bem_copy2.jpg


gdm_anno_dim_copy2.txt

 
Hallo Eugen,

zwei unterschiedliche Fonts im Pre- bzw. Postfix sind nicht möglich. Du könntest den Index in den Superfix schreiben.
Für den Kreis um den Index fällt mir im Moment auch keine Lösung ein.

------------------
Gruß,
Peter

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

PeterO
Mitglied
Admin


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

Beiträge: 101
Registriert: 14.01.2003

WIN 10
Modeling 20.2.1
Drafting 20.2.1 UI4
Model Manager 20.2.1

erstellt am: 01. Feb. 2018 08:53    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 Jako 10 Unities + Antwort hilfreich

Nachtrag: Die Fixtexte werden überschrieben. Falls du in diesen noch sonstige Texte hast müssen die vorher ausgelesen werden und danach wieder hinzugefügt werden.

------------------
Gruß,
Peter

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

Jako
Mitglied
Werkzeugmacher, Kostruktion


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

Beiträge: 84
Registriert: 20.11.2009

Solid Designer / Annotation
Version: 16.50

erstellt am: 01. Feb. 2018 10:05    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


Bemassungstext-kopieren.JPG

 
Hallo Peter,

vielen Dank,
hab das letzte Lisp ausprobiert, macht genau was es soll, nur der
Index als Superfix macht sorgen. Wenn ich in der Koordinatenbemassung viel Bemassung habe, führt das Superfix zu vielen Überlappungen.
Deshalb mein Vorschlag, den Index komplett wegzulassen, den kann ich
über einen Befehlsknopf, den ich mir erstellt habe, anschließend mit dem entsprechenden Index hinter die Kopierte Bemassung hinzufügen.
Der Befehl lautet:
am_create_text :size 1.8 :frame "BALLOON" :docu-text "1"  wner

Ideal wäre, wenn man noch eine Löschfunktion für die Fixtexte einbauen könnte. Dafür habe ich auch einen Befehlsknopf:
am_dim_add_fixtext :dim_list
refix ""  ostfix "" :superfix "" :subfix ""
:apply

Gruß
Eugen

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.

● PE6+8@home
● W10 Pro Build19044.2364
● Drafting V20.1+4
● Modeling V20.1+4

erstellt am: 01. Feb. 2018 14:16    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 Jako 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Jako:
vielen Dank,
darauf hatte ich schon (nach Peters intensiver Hilfe) gewartet.
Zitat:
anschließend mit dem entsprechenden Index hinter die Kopierte Bemassung hinzufügen.
Der Befehl lautet:
am_create_text :size 1.8 :frame "BALLOON" :DOCU-text "1"  :Owner



Das ist keine ganz so gute Idee, denke ich.

Denn dieser 'freie' Text hat erstmal keinerlei Bezug zu dem Mass. Wenn das Mass aufgrund eine Updates also auf der Zeichnung wandert, bleibt Deine manueller Index dort liegen, wo Du ihn haendisch hingesetzt hast. Das mag voellig woanders sein, aber (Murphy sei dank) mit wahrscheinlichkeit in der Naehe eines anderen Masses.


Es gibt aber den Befehl "Group" AM_DEFINE_GROUP . Damit kannst Du Texte, Symbole und Bemassungen zu einer Einheit zusammen fassen. Damit bleibt beim Update auch alles beieinander. Den muesstest Du also mit verwenden.

Vielleicht kanns Du auch mal noch nen Screenshot bereit stellen,wenn sich 5 Masse schon 3..4..5  mal geaendert haben und wie das bei Koordinatenbemassung aus sehen soll / oder momentan aussieht.

Eine andere Ueberlegung waere den 'second value' einer Bemassung zu nutzen.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

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

Jako
Mitglied
Werkzeugmacher, Kostruktion


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

Beiträge: 84
Registriert: 20.11.2009

Solid Designer / Annotation
Version: 16.50

erstellt am: 01. Feb. 2018 15: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

Im 2D erscheint nur der letze Index. Wenn sich ein Maß mehrmals ändert,
wird immer nur das letzte Maß mit dem dazugerögigen Index auf der 2D Zeichnung stehen gelassen.
Sonst würden wir auf manchen Zeichnungen mehr wirrwar erzeugen als Sinn.
Es ist für uns primär wichtig, das geänderte Masse auf den Zeichnungen
sofort ersichtlich sind. Das machen wir mit der durchgestrichenen Masszahl und dem Index. Weiter ist für die Zeichnungen nichts mehr
erforderlich.
Zwecks Nachvollziehbarkeit speichern wir die geänderten Daten als 3D Daten zum jewailigen Index in einem jewails dafür angelegten Ordner ab.
Und wir arbeiten mit Farben und können anhand der Farben sehen, welche Bereiche sich geändert haben.
Es würde mir reichen, wenn die Masszahl ohne Index kopiert werden könnte und wenn noch ein Button zum löschen der Fixtexte dabei wäre.
Im Grunde funktioniert es ja schon, nur der Superfix stört, wg. Platzmangel.

Gruß
Eugen

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

PeterO
Mitglied
Admin


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

Beiträge: 101
Registriert: 14.01.2003

erstellt am: 01. Feb. 2018 16:17    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 Jako 10 Unities + Antwort hilfreich


bem_copy3.jpg


gdm_anno_dim_copy3.txt

 
Hallo Eugen,

wenn ihr den Pre- und Postfix nicht verwendet dann und auf den Kreis um den Index verzichtet dann wäre das vielleicht eine Lösung.

------------------
Gruß,
Peter

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

Jako
Mitglied
Werkzeugmacher, Kostruktion


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

Beiträge: 84
Registriert: 20.11.2009

Solid Designer / Annotation
Version: 16.50

erstellt am: 02. Feb. 2018 06:28    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 Peter,

das ist eine sehr gute Lösung. Wenn du noch die Funktion
"Fixtexte löschen" einbauen könntest, wäre dieses Lisp
noch perfekter. Es kann und wird passieren das man statt
prefix auch mal postfix wählen wird und dann kann man mit
"Fixtexte löschen" ohne aus dem Befehl auszusteigen löschen
und weiter machen.
Ich danke dir sehr, es ist ein geniales sehr gut gelungenes Lisp.

Viele Grüße
Eugen

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

PeterO
Mitglied
Admin


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

Beiträge: 101
Registriert: 14.01.2003

erstellt am: 02. Feb. 2018 09: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 Nur für Jako 10 Unities + Antwort hilfreich


gdm_anno_dim_copy.txt

 
Jetzt mit Löschfunktion

------------------
Gruß,
Peter

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

Jako
Mitglied
Werkzeugmacher, Kostruktion


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

Beiträge: 84
Registriert: 20.11.2009

Solid Designer / Annotation
Version: 16.50

erstellt am: 02. Feb. 2018 09:48    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 Peter,

das ist perfekt. Vielen Dank und schönes Wochenende.

Gruß
Eugen

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

MiBr
Mitglied
Konstrukteur


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

Beiträge: 508
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 19R3 Mechanical Pro

erstellt am: 02. Feb. 2018 11:49    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 Jako 10 Unities + Antwort hilfreich


gdm_anno_dim_copy.lsp

 
Hallo,

ich habe mir mal erlaubt noch ein wenig an der Lisp zu ändern.
Vielleicht gefällts und wenn nicht auch gut!

Zitat:
Es kann und wird passieren das man statt
prefix auch mal postfix wählen wird und dann kann man mit
"Fixtexte löschen" ...

Ich denke, das kann wirklich lästig werden, von daher habe ich mal
Versucht dies automatisch zu ermitteln.
Dies funktioniert in der Lisp, wenn die Bemaßung zu 0° oder 90° steht,
anstonsten kommt eine Abfrage.
Denke das sollte bei der Koordinatenbemaßung i.O. sein.

Gruß Michael

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

Jako
Mitglied
Werkzeugmacher, Kostruktion


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

Beiträge: 84
Registriert: 20.11.2009

Solid Designer / Annotation
Version: 16.50

erstellt am: 02. Feb. 2018 11:59    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 Michael,

das macht das Lip jetzt richtig genial. Man muss
nicht ständig zwischen postfix und prefix hin und her
schalten. Sehr genial kann ich da nur sagen.
Vielen herzlichen Dank, gefällt mir sehr gut.

Gruß
Eugen

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.

● PE6+8@home
● W10 Pro Build19044.2364
● Drafting V20.1+4
● Modeling V20.1+4

erstellt am: 03. Feb. 2018 13:53    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 Jako 10 Unities + Antwort hilfreich


gdm_anno_dim_copy_wolfgang.lsp

 
@Peter  and @Michael  hey  prima..  sogar fast durchgaengig 2 sprachig 

kleine Stolperer:

Code:
(= (- (gpnt2d_y (sd-am-inq-dim-extline1-begin-pnt DIM_SEL)) (gpnt2d_y (sd-am-inq-dim-extline1-end-pnt DIM_SEL))) 0)

Das kommt im Prinzip 4 mal vor.

Du berechnest den Abstand zwischen 2 Y werten und guckst ob dieser 0 ist.

Also guckst Du eigentlich ob der begin und end point (bzw. nur Y davon) gleich sind. Floating Numbers auf GLEICHHEIT zu testen ist in der computerei recht gefaehrlich.  Zahlen mit Nachkommastellen lassen sich im Binaer system nicht so einfach darstellen.  Da wackelt es halt mal an der 13. Stellen hinterm Komma.  Deswegen vergleicht man solche Zahlen nicht mit '='!

Da greifen wir in die IKIT Grabbel Kiste und nehmen : sd-num-equal-p Checks if the two passed numbers are equal within the specified geometric resolution.

Also:

Code:
(sd-num-equal-p (gpnt2d_y (sd-am-inq-dim-extline1-begin-pnt DIM_SEL))
                                                (gpnt2d_y (sd-am-inq-dim-extline1-end-pnt DIM_SEL)))

Im hinteren Bereich der local function (if TEXT_POSTFIX...) haette ich mir eher 2 lokale variablen spendiert und nur einen einzigen Aufruf AM_DIM_PROPS codiert.
Warum? Das ist dann besser aenderbar, wenn man z.b. die Farbe oder den Font aendern will. Ausgerechnete der laengliche sd-call-cmds am_dim_props Aufruf ist vier mal vorhanden.

Schwerwiegender ist da eher noch die Verwendung von sd-display-warning, denn dies "bricht" die recorder Faehigkeit des Dialogs. Einen solchen Check/eine solche Abfrage muesste man konsequenterweise in die :check-function und deren :confirmation einbauen.  Und ihr seht - solche Kleinigkeiten machen source code schnell komplizierter. 
__________________________________

formal: eine variable 'input' zu nennen, ist suboptimal. "Input" ist a) was sehr allgemeines b) programmtechnisch irgendwie vorbelegt (sagt mir mein Bauch    ). Also habe ich da nen passenderen Namen genutzt und die Definition runter gezogen.
__________________________________

Und wenn es schon bequem sein soll...    habe ich noch proposals eingebaut. Da bleibt die Hand laenger auf der Maus und muss nicht zwischendurch kurz ne Nummer eingeben.

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

Meine Variante anbei. Ich habe aber nicht alles angesprochene geaendert.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

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

MiBr
Mitglied
Konstrukteur


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

Beiträge: 508
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 19R3 Mechanical Pro

erstellt am: 05. Feb. 2018 07:29    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 Jako 10 Unities + Antwort hilfreich

Hallo Wolfgang,

erstmal wieder ein Dankeschön für deine Ausführung, jetzt kann ich alle meine Lisp mal wieder 
auf Optimierungspotential (sehr hoch) durchschauen!

Das mit dem sd-num-equal-p ist ein sehr guter Hinweiß, hatte mit dem Vergleichen = von Zahlen
schon mal ein Problem und sage jetzt lieber nicht, wie ich das gelöst habe!

Das mit dem Input, hatte ich eins zu eins aus dem IKit übernommen und mir bei der Variable 
überhaupt nichts gedacht.

Und mit dem fast durchgänig in zwei Sprachen, habe ich dann auch wohl zu verantworten!
(noo englisch scil)

@Eugen: Freut mich wenn gefällt!

Gruß Michael

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.

● PE6+8@home
● W10 Pro Build19044.2364
● Drafting V20.1+4
● Modeling V20.1+4

erstellt am: 07. Feb. 2018 13:41    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 Jako 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MiBr:
erstmal wieder ein Dankeschön für deine Ausführung, jetzt kann ich alle meine Lisp mal wieder  :Dance:
auf Optimierungspotential (sehr hoch) durchschauen!


Bitte,  gerne doch!

Ja die Proposals sind SOOOO schoen!!  Die kann man fast blind einbauen bringen fuer die Usability aber immer einiges. Und wenn dann der manuelle UserInput beim naechsten restart auch noch in der drop down liste auftaucht, ist das doch bequem, oder?

Man kann auch mit einer leeren Proposal list anfangen, die fuellt sich ja automagisch mit der Zeit.  Deswegen kommt das in von mir geschriebenen / angepassten Dialogen eigenlich immer vor.

Viel Vergnuegen beim Ueberarbeiten!!!  hehe.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

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.

● PE6+8@home
● W10 Pro Build19044.2364
● Drafting V20.1+4
● Modeling V20.1+4

erstellt am: 07. Feb. 2018 13: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 Nur für Jako 10 Unities + Antwort hilfreich

einen Zahlenvergleich sollte man zumindest so schreiben:
Code:
  (> 0.01  (abs (- num1 num2)))
Einen Vergleich auf 0 kann man nur bei ganzzahlen verantworten.

BTW:  es gibt auch ein SD-VEC-EQUAL-P, mit dem kann man dann direkt zwei Punkte vergleichen.

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

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

MiBr
Mitglied
Konstrukteur


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

Beiträge: 508
Registriert: 30.06.2015

HP Z440 Workstation 64GB
Modeling 20.1.2.0 (x64)
Drafting 20.1.2.0 (64x) klas. UI
Modell Manager 20.1.2.0
Ansys Workbeanch 19R3 Mechanical Pro

erstellt am: 07. Feb. 2018 14:39    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 Jako 10 Unities + Antwort hilfreich

Hallo Wolfgang,

die Variante funzt aber nur zu Null und dann müsste da ein < Zeichen stehen, oder!

Ich sagte zwar, dass ich es lieber nicht sage wie ich´s gelöst hatte! Aber egal!
In etwa so hatte ich das beim Zahlenvergleich gemacht (ungetestet):

(and (> (+ num1 0.001) num2) (< (- num1 0.001) num2))

Wir driften aber jetzt auch irgend wie vom Thema ab, aber Eugen wird´s wohl verzeihen!

Gruß Michael

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.

● PE6+8@home
● W10 Pro Build19044.2364
● Drafting V20.1+4
● Modeling V20.1+4

erstellt am: 07. Feb. 2018 18:46    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 Jako 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MiBr:
die Variante funzt aber nur zu Null und dann müsste da ein < Zeichen stehen, oder!

< oder > je nachdem ob du beim Verleich ein T oder ein NIL haben willst.

Ich glaube du hast den (abs ... ) Aufruf ueberlesen. ;)

Wir bestimmen den "Abstand" zweier Zahlen durch Differenzbildung (- num1 num2). Der "Abstand" sollte aber ein positiver Wert sein: ==> das macht abs, in dem es das 'das minus zeichen weg macht'. Dann gucken wir ob dieser Abstand kleiner einer Tollllleranzgrenze ist. Das waere dann 1:1 umgesetzt:

Code:
(< (abs (- num1 num2)) tolerance)


Okay im vorherigen Posting habe ich "Toleranz ist groesser als der Abstand" auskodiert...  aber (3 mal nachdenken) das laeuft ja aufs gleiche raus. 

Hier findet sich ein schoene und kompakte Ubersicht der Lisp Nummern.  Die Funkionen gcd und lcm habe auch noch nie angewandt, glaube ich...    was es nicht so alles gibt. . lach..

------------------
Firefox ESRJava Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en)NotePad++BuFDi

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