Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Drafting
  punkt auf Linie

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
  
Tag des Schweißens, Veranstaltung am 19.09.2024
Autor Thema:  punkt auf Linie (170 / mal gelesen)
rkb
Mitglied
Zeichner

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

Beiträge: 4
Registriert: 26.01.2015

erstellt am: 23. Jul. 2024 06: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

Hallo,

gibt es die Möglichkeit, über ein Makro auf alle horizontalen Linien mit 6mm Länge in einer Zeichnung, mittig einen Punkt zu setzen?

Gruß Ronald

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

karl-josef_wernet
Mitglied
SysAdmin CAD-ME


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

Beiträge: 1006
Registriert: 27.11.2000

PTC-Direct-Modeling/Drafting 19.0
Classic/Tablett
DELL T5820, Precision 7760
Workmanager/Model-/Drawing-Manager
WIN10

erstellt am: 23. Jul. 2024 10: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 rkb 10 Unities + Antwort hilfreich

Mit etwas Makroprogrammierung zu machen. Über INQ_SELECTED_ELEM alle Linien erfassen und danach in einer Loop (INQ_NEXT_ELEM) abarbeiten

------------------
kjw

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

Kotom-Eng
Mitglied



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

Beiträge: 19
Registriert: 18.11.2022

erstellt am: 23. Jul. 2024 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 Nur für rkb 10 Unities + Antwort hilfreich

Zum Beispiel

Code:
DEFINE Punkt_auf_Linie
  LOCAL Ctr
  LOCAL Length
  LOCAL Nbr
  LOCAL P01
  LOCAL P02
  LOCAL Tol
 
  LET Length 6
  LET Tol 0.001

  INQ_SELECTED_ELEM SELECT LINES ALL CONFIRM
  LET Nbr ( INQ 14 )
  LET Ctr 1

  WHILE (Ctr <= Nbr)
    LET P01 ( INQ 101 )
    LET P02 ( INQ 102 )
    IF (((LEN (P01-P02)) - Length) < Tol)
      POINT ((P01+P02)/2)
    END_IF
    INQ_NEXT_ELEM
    LET Ctr (Ctr+1)
  END_WHILE

  END

END_DEFINE


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


http://kotom.eng.free.fr/

[Diese Nachricht wurde von Kotom-Eng am 23. Jul. 2024 editiert.]

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

rkb
Mitglied
Zeichner

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

Beiträge: 4
Registriert: 26.01.2015

erstellt am: 23. Jul. 2024 12:54    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 Kotom-Eng,

das sieht sehr gut aus.
Da ich die Punkte auf "Fadenkreuze" setze, habe ich diese dann doppelt.
1x für horizontal und 1x für vertikal.
Kann man ja dann bereinigen.

Vielen Dank
Ronald

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

Kotom-Eng
Mitglied



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

Beiträge: 19
Registriert: 18.11.2022

erstellt am: 23. Jul. 2024 16:07    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 rkb 10 Unities + Antwort hilfreich

Hallo,

Ich verstehe nicht, was Sie meinen. Warum werden die Punkte verdoppelt?

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

http://kotom.eng.free.fr/

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

rkb
Mitglied
Zeichner

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

Beiträge: 4
Registriert: 26.01.2015

erstellt am: 24. Jul. 2024 05: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


Fadenkreuz.PNG

 
Hallo,

das Makro nimmt alle Linien mit 6 mm Länge.
Bei mir Kreuzen sich 2 Linien, also gibt es 2 Punkte.
Seltsamer weise nimmt das Makro auch Linien die zusammen 6 mm ergeben.
Also z.B. 2 x 3mm. Dann wird der Punkt Mittig auf einer der beiden Linien gesetzt.
Daher habe ich jetzt noch die Trennfunktion deaktiviert.

DEFINE Punkt_auf_Linie
  LOCAL Ctr
  LOCAL Length
  LOCAL Nbr
  LOCAL P01
  LOCAL P02
  LOCAL Tol

  LET Length 6
  LET Tol 0.001

  INQ_SELECTED_ELEM SELECT LINES YELLOW CONFIRM
  LET Nbr ( INQ 14 )
  LET Ctr 1

  WHILE (Ctr <= Nbr)
    LET P01 ( INQ 101 )
    LET P02 ( INQ 102 )
    IF (((LEN (P01-P02)) - Length) < Tol)
SPLITTING OFF
      POINT PENSIZE 0 cyan DASH_CENTER ((P01+P02)/2)
    END_IF
    INQ_NEXT_ELEM
    LET Ctr (Ctr+1)
CLEAN_DRAWING
CLEAN_DUPLICATE_GEOMETRY
0.0
CONFIRM
  END_WHILE

  END

END_DEFINE


Gruß Ronald


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: 2197
Registriert: 3.20.

● PE20+60+80@home
● W10 Pro Build19045.4651
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.1.0

erstellt am: 24. Jul. 2024 19: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 rkb 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von rkb:
Da ich die Punkte auf "Fadenkreuze" setze, habe ich diese dann doppelt.
1x für horizontal und 1x für vertikal.
Kann man ja dann bereinigen. 

Nun ja .  wenn mich meine sommerlichen Tomaten auf den Augen nicht täuschen fehlt da noch die Bedingung

Zitat:
alle horizontalen Linien

Der IF braucht noch ein AND welches ((abs (x_of p01) - (x_p02)) < Tol) zusätzlich prüft. (pseudo Makro code)

Kriegt'de hin, rkb!

------------------
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

karl-josef_wernet
Mitglied
SysAdmin CAD-ME


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

Beiträge: 1006
Registriert: 27.11.2000

PTC-Direct-Modeling/Drafting 19.0
Classic/Tablett
DELL T5820, Precision 7760
Workmanager/Model-/Drawing-Manager
WIN10

erstellt am: 25. Jul. 2024 14:31    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 rkb 10 Unities + Antwort hilfreich

Hallo Wolfgang,
und wie sähe die Lösung in Annotation aus?
Sehr viel komplizierter! Deshalb mein Wunsch in einem anderen Thread, das Drafting durch PTC geöffnet werden sollte. Mit der Demo- Version kann man nicht viel machen.

------------------
kjw

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: 2197
Registriert: 3.20.

● PE20+60+80@home
● W10 Pro Build19045.4651
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.1.0

erstellt am: 25. Jul. 2024 22:14    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 rkb 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von karl-josef_wernet:
und wie sähe die Lösung in Annotation aus?

Wäre im Annotation halt so:

Code:
(sd-execute-annotator-command :cmd "Punkt_auf_Linie")

So lange ein ME10 Makro nichts / nicht viel vom Anwender abfragt, kann man den Makro auch aus dem Annotation heraus nutzen. Ggf. muss man über 'current part' / das Sheet-Konzept nachdenken. Aber nach der 3. Makro adaption hat man das raus.

Ein Guter Annotöter kann halt ME10 Makros. 😏

------------------
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

Kotom-Eng
Mitglied



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

Beiträge: 19
Registriert: 18.11.2022

erstellt am: 26. Jul. 2024 11: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 rkb 10 Unities + Antwort hilfreich

Hallo RKB,

Für Fälle, in denen die Leine kürzer als 6 mm ist, habe ich ABS hinzugefügt.
SPLITTING OFF wird vor WHILE gestellt. Es macht keinen großen Unterschied, aber es ist besser. SPLITTING ON wurde am Ende hinzugefügt, es scheint für Sie die Norm zu sein.
CLEAN_DRAWING wird nach END_WHILE eingefügt. Es macht keinen großen Unterschied, aber es ist besser.


Hallo Wolfgang,

Die Zusatzbedingung ((ABS (X_OF P01) - (X_OF P02)) < TOL) bedeutet, dass die Linie vertikal sein muss, oder? Die anderen 6-mm-Linie sind in diesem Fall also nicht betroffen.


Code:
DEFINE Punkt_auf_Linie
  LOCAL Ctr
  LOCAL Length
  LOCAL Nbr
  LOCAL P01
  LOCAL P02
  LOCAL Tol
 
  LET Length 6
  LET Tol 0.001

  INQ_SELECTED_ELEM SELECT LINES ALL CONFIRM
  LET Nbr ( INQ 14 )
  LET Ctr 1
  SPLITTING OFF

  WHILE (Ctr <= Nbr)
    LET P01 ( INQ 101 )
    LET P02 ( INQ 102 )
    IF (( ABS (( LEN (P01-P02)) - Length)) < Tol)
      POINT ((P01+P02)/2)
    END_IF
    INQ_NEXT_ELEM
    LET Ctr (Ctr+1)
  END_WHILE
 
  CLEAN_DRAWING CLEAN_DUPLICATE_GEOMETRY 0.0 CONFIRM END
  SPLITTING ON

END_DEFINE


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


http://kotom.eng.free.fr/

[Diese Nachricht wurde von Kotom-Eng am 26. Jul. 2024 editiert.]

[Diese Nachricht wurde von Kotom-Eng am 26. Jul. 2024 editiert.]

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

rkb
Mitglied
Zeichner

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

Beiträge: 4
Registriert: 26.01.2015

erstellt am: 26. Jul. 2024 12:54    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 Wolfgang,

hat ein wenig gedauert, aber ich habe es hin bekommen.
Da jetzt nur noch auf alle horizontalen Linien ein Punkt gesetzt wird, brauch ich die bereinigung der doppelten Elemente nicht mehr!

DEFINE Punkt_auf_Linie
  LOCAL Ctr
  LOCAL Length
  LOCAL Nbr
  LOCAL P01
  LOCAL P02
  LOCAL Tol

  LET Length 6
  LET Tol 0.001

  INQ_SELECTED_ELEM SELECT LINES YELLOW CONFIRM
  LET Nbr ( INQ 14 )
  LET Ctr 1
  SPLITTING OFF

  WHILE (Ctr <= Nbr)
    LET P01 ( INQ 101 )
    LET P02 ( INQ 102 )
    IF (ABS (LEN (X_OF P01 - X_OF P02) - Length) < Tol)
      POINT cyan DASH_CENTER ((P01+P02)/2)
    END_IF
    INQ_NEXT_ELEM
    LET Ctr (Ctr+1)
  END_WHILE

  SPLITTING ON

END_DEFINE

Gruß und Danke
Ronald

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: 2197
Registriert: 3.20.

● PE20+60+80@home
● W10 Pro Build19045.4651
● Drafting V17~V20.7
● Modeling V17~V20.7
● Windchill 12.1.2.6
● UWGM Client 13.0.1.0

erstellt am: 26. Jul. 2024 22:36    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 rkb 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von rkb:
hat ein wenig gedauert, aber ich habe es hin bekommen. 
gut, halt, also Jein. 

das delta-X von zwei Punkten kann auch bei einer nicht horizontalen Linie 6 mm sein . 

Du musst schon beides checken:

sinngemäß:

Code:
IF (and ((ABS ((LEN (P01-P02)) - Length)) < Tol)  { length of line, should be ~6mm }
        ((ABS (Y_OF P01 - Y_OF P02)) < Tol)      { horizontal line, dy should be ~0mm }
        )
  ...
- just written, not tested!

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