Hot News:

Mit Unterstützung durch:

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

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:  check_funktion (859 mal gelesen)
Gatzer
Mitglied



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

Beiträge: 189
Registriert: 25.11.2003

OSDD 15.50
OSDM 15.50
MM 15.50

erstellt am: 23. Mai. 2005 14: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

Hallo Forum,

ich moechte mir ein Macro schreiben, mit dem ich mir mehrere Kanten auswaehlen kann. Anschliessend sollen alle ausgewaehlten Kanten, selektiert werden. Z.B ich habe 2 kanten, mit der laenge 120mm und 80mm ausgewaehlt. Im Bauteil sind nun aber 10 Kanten mit der laenge 120mm, und 8 Kanten mit der Laenge 80mm.
Wie kann ich nun mit get_selection die :check_funktion aufbauen,
um an meine Kanten zu kommen?

Kann mir da jemand helfen?

Gruss Michael
 

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

Dorothea
Mitglied



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

Beiträge: 242
Registriert: 22.11.2001

erstellt am: 23. Mai. 2005 14: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 Gatzer 10 Unities + Antwort hilfreich

Hallo Michael,

Habe die Frage nicht ganz verstanden. Was ist denn das Kriterium, das "deine" Kanten erfuellen sollen? Die Kantenlaenge scheint es ja nicht zu sein. Was soll denn in der check_function getestet werden?
Oder ist das check-Kriterium "Kantenlaenge = 120mm oder 80mm" und das Ziel "Suche alle solchen Kanten"?

Gruss Dorothea

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

RainerH
Mitglied
Techn. Ang. (Konstruktion)


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

Beiträge: 736
Registriert: 22.01.2003

OSDM 14.00A
OSDD 14.00A
MM 14.00A
Windows-XP Professional
---
HP xw4100
3.0 GHz
2GB RAM
Quadro4 980 XGL

erstellt am: 23. Mai. 2005 14:58    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 Gatzer 10 Unities + Antwort hilfreich

@Gatzer

So ganz verstehe ich deine Frage nicht !
Willst du haben, dass ausschliesslich nur Kanten gewaehlt werden koennen -> diese ginge mit *sd-edge-3d-seltype*

Hilfe zu "get_selection" findest du hier:
C:\Programme\CoCreate\OSD_Modeling_2005\help\osdm\Common\documentation\integration_kit\reference\get_selection.html

Hilfe zu ":check-function" findest du hier:
C:\Programme\CoCreate\OSD_Modeling_2005\help\osdm\Common\documentation\integration_kit\reference\dg_manual.html

HTHHope this helps (Hoffe, es hilft weiter)


Gruss
RainerH.

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

highway45
Moderator
Bastler mit Diplom




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

Beiträge: 6331
Registriert: 14.12.2004

SolidDesigner-20.5.1 + PhoenixPDM-11 + Solidworks-2022 + PE8

erstellt am: 23. Mai. 2005 15: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 Nur für Gatzer 10 Unities + Antwort hilfreich

Gatzer
Mitglied



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

Beiträge: 189
Registriert: 25.11.2003

OSDD 15.50
OSDM 15.50
MM 15.50

erstellt am: 23. Mai. 2005 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


HK_Selektiere_Kanten_mehrfach.txt


kanten.GIF

 
Hallo Dorothea,

um besser zu verstehen was ich moechte habe ich mal ein Bild,und das Macro angehangen.
Ich selektiere im Macro die beiden beschrifteten Kanten, messe dann die
Kantenlaenge, und schreibe sie in eine Liste. Bis hier klappt alles.
Aber nun möchte, das alle Kanten mit der Laenge 120mm und 80mm im Bauteil selektiert werden.

Ich hoffe das beschreibt mein problem besser.

Gruss Michael

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

Klaus Lörincz
Mitglied
Consultant


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

Beiträge: 533
Registriert: 06.08.2003

OSD M = aktuell
OSD D = aktuell
OS M = aktuell
auf WIN und HP-UX

erstellt am: 23. Mai. 2005 16: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 Nur für Gatzer 10 Unities + Antwort hilfreich

Hallo Michael,

du kannst die Selektion mit einer Check-function ablaufen lassen.

(sd-call-cmds
      (get_selection
          :focus_type *sd-anno-geo-seltype*
          :check_function #'private::check-item-length   :select
  :by_sheet_docu_geo (oli::sd-am-inq-curr-sheet)
  )
      :success  (progn (setf bubu *SD-ACTION-RESULT*))
      :failure (progn
  (sd-display-error (sd-inq-error-obj :message))
  nil)
      )

Die Funktion in diesem Fall liegt weder im Dialog noch im selben
Lisp-Paket.

Grüßle

------------------
Klaus Lörincz
0174 3439 428
Sindelfingen
Germany

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

RainerH
Mitglied
Techn. Ang. (Konstruktion)


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

Beiträge: 736
Registriert: 22.01.2003

OSDM 14.00A
OSDD 14.00A
MM 14.00A
Windows-XP Professional
---
HP xw4100
3.0 GHz
2GB RAM
Quadro4 980 XGL

erstellt am: 24. Mai. 2005 07: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 Nur für Gatzer 10 Unities + Antwort hilfreich

@Gatzer

ich wuerde es eventuell so loesen:

...
(get_selection
:focus_type *sd-edge-3d-seltype*
:check_function #'(lambda (einzelkante)
(progn
(setf kantenlaenge_einzelkante nil)
(setf kantenlaenge_einzelkante
(sd-call-cmds
(measure_dist :edge_length einzelkante)
)
)
;;(display kantenlaenge_einzelkante)
(if (or (= kantenlaenge_einzelkante 120)
(= kantenlaenge_einzelkante 80)
)
:ok
:filter
)
)
)
:select :in_part bauteil
)
...

HTHHope this helps (Hoffe, es hilft weiter)

Gruss
RainerH.

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

Dorothea
Mitglied



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

Beiträge: 242
Registriert: 22.11.2001

erstellt am: 24. Mai. 2005 07: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 Nur für Gatzer 10 Unities + Antwort hilfreich

Hallo,

So wie Rainers Code waere auch mein Vorschlag. Vielleicht solltest du noch den Vergleich etwas "weicher" machen und statt = die Funktion sd-num-equal-p einsetzen. Dann bekommst du auch die Ungenauigkeiten im Resolution-Bereich mit abgefedert.

Der entscheidende Punkt ist glaube ich, die ungewollten Kanten in der check-function mit dem keyword :filter rauszufiltern. Wenn man naemlich dieses keyword statt :error verwendet, dann werden diese Elemente rausgenommen ohne das der Selektor einen Fehler produziert.

Gruss Dorothea

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

Gatzer
Mitglied



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

Beiträge: 189
Registriert: 25.11.2003

OSDD 15.50
OSDM 15.50
MM 15.50

erstellt am: 24. Mai. 2005 09: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

@Dorothea, RainerH, Klaus
danke fuer Eure Hilfe.

Klaus, bei Deiner Loesung bekomme ich folgende Fehlermeldung,
wenn ich das (in-package rivate) setze.
LISP-Fehler.
The function PRIVATE-CHECK-ITEM-LENGTH is undefined.

Setze ich es nicht, kommt die Fehlermeldung
LISP-Fehler
There is no package with the name PRIVATE

Kannst Du mir da nochmal einen Tip geben.

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