| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: alles einbinden was an konturen in einem Polyelement entahlten (1447 mal gelesen)
|
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 18. Aug. 2008 17:07 <-- editieren / zitieren --> Unities abgeben:
|
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000 Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.
|
erstellt am: 18. Aug. 2008 17:52 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Zitat: Original erstellt von Greskamp: Hallo,gibt es eine Möglichkeit wenn ich ein Polyelement habe, im Drafting zu sagen. Binde mir alles zu dem Teil hinzu was innerhalb des Polyements vorhanden ist?
"Innerhalb des Polyelements vorhanden" interpretiere ich so: Alle Geometrie, die innerhalb eines (geschlossenen?) Polygonzugs liegt. Richtig so? Und was meinst Du mit "hinzubinden"? Der Auswahl hinzufügen? Claus
------------------ CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roman Mitglied
Beiträge: 674 Registriert: 16.01.2001
|
erstellt am: 18. Aug. 2008 17:58 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Hi, so direkt nicht. Aber du kannst eine Selektion/Auswahl mit einem Polyelement machen. Siehe auch beiliegenden Screenshot. Daraus müsste man mit ein bischen Makro das gewünschte Ergebnis bekommen können. Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003 MS: Windows 10 64bit OSD: 20.1 M020 ModelManager: 20.1 M020 NX 1899 TC 12.3
|
erstellt am: 18. Aug. 2008 18:30 <-- editieren / zitieren --> Unities abgeben:
ich hab alle geometrien im top. jetzt hab ich ein teil xxxx erstellt und wähle das polyelement. damit ist das polyelement im teil xxxx eingebunden. jetzt möchte ich noch alles was innerhalb des geschlossenen ployelements enthalten ist zu dem teil noch hinzu binden. also das das ebenfalls zu dem teil gehört. ------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000
|
erstellt am: 18. Aug. 2008 19:58 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
|
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19044.2006 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1 ● @Scirotec201804
|
erstellt am: 18. Aug. 2008 21:04 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Zitat: Original erstellt von clausb: Muss nochmal fragen: Ich interpretiere "binden" als "auswählen" - richtig so?
Njain, ich denke Peter möchte den GATHER befehl anschmeissen. Sagen wir mal "take ownership". Also das dann alle Elemente, die von der Polyline umschlossen sind, in dem neuen Teil xxxx struktur maessig 'hängen'. Mit Gather kann man aber AFAIK nur Elemente in ein struktur mäßig darüberliegendes part 'ziehen/binden/gathern'. hmmm.... lustig, mit Elementen im TOP weiß ich jetzt ausmKopp gar nicht was man da macht. Also temporäres part, da alles rein, das temp part unter XXXX ziehen, dann die umschlossen elemente hoch gathern, das wäre mein Ansatz. Aber: was passiert mit Elementen, die die Polylinie schneiden? -> splitten und dann den innern Teil mitnehmen?
Das splitten entlang der Polylinie geht auch... habe da irgendwo nen altes Macro was ein Detail macht. Ist gar nicht lang her das ich das gefunden hab'. ----- nachschlag ----- ich habe gerade noch mal die Gather Help gelesen, da steht gar nicht drin, das mal elemente nur aus sub(sub)parts des aktuellen gathern kann. Bin ich da mental nicht auf der Höh'? <vorsicht!!!> mit Antworten ;-) ----- <patsch> -----
------------------ ● Seamonkey Firefox Thunderbird Seamonkey auf deutsch ● OSD Hilfeseite (de) / help page (en) ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003
|
erstellt am: 19. Aug. 2008 07:49 <-- editieren / zitieren --> Unities abgeben:
Ich bin echt immer über die Hilfsbereitschaft hier begeistert. Ich hab jetzt mal eine kleine .mi Datei angehängt. Da sieht wann den Vergleich zu vorher und nachher. Vorher ist alles im Top, nachher gibt es einzelne Teile mit den jeweiligen Konturen. Von den Dreiecken habe ich ca. 3000 St. Vielleicht hat ja jemand noch andere Ideen um meinen Mausarm zu schonen. Texte einlesen und ein Teil draus machen wäre bestimmt auch hilfsreich. Aber eins nach dem anderen. ------------------ Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
H.annes Mitglied CAD-Pfriemler
Beiträge: 482 Registriert: 02.07.2001 ME10 8.7 - PTC DirectDrafting 19.00; OSM 15.xx - PTC DM 19.xx
|
erstellt am: 19. Aug. 2008 08:01 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
interaktiv gehts mit Auswahl POLY - also: * Einzelteil erstellen * Polylinie anknicken * POLY eintippen * die 3 Punkte der Polylinie & nochmal den Startpunkt anklicken * END Im Makro kann man wohl die Punkte der Polylinie abfragen, dann gehts auf Knopfdruck ... Gruß aus Österreich, Hannes
------------------ Nur sauber gekämmt sind wir wirklich frei. [HaP] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roman Mitglied
Beiträge: 674 Registriert: 16.01.2001
|
erstellt am: 19. Aug. 2008 08:49 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
|
Greskamp Mitglied Ingenieur
Beiträge: 523 Registriert: 12.03.2003 MS: Windows 10 64bit OSD: 20.1 M020 ModelManager: 20.1 M020 NX 1899 TC 12.3
|
erstellt am: 19. Aug. 2008 08:56 <-- editieren / zitieren --> Unities abgeben:
|
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19044.2006 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1 ● @Scirotec201804
|
erstellt am: 19. Aug. 2008 19:28 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
gssss.. ich wusste doch da war noch was: Also die selection mit POLY: Als Beispiel: CHANGE_COLOR YELLOW SELECT POLY PICK_VP_PNT 1 9685.77409519832,-2991.99838705935 PICK_VP_PNT 1 9540.58277843863,-3020.35224689794 PICK_VP_PNT 1 9694.08470928894,-3106.88040537089 PICK_VP_PNT 1 9686.7518145031,-2991.99838705935 CONFIRM END soweit so gut. Ist dir jetzt der SELECT POLY .. CONFIRM verstaendlich, Peter? --------------------------------------- Peter muesste nun ein INIT_PART '4779' GATHER SELECT POLY P1 P2 P3 CONFIRM END EDIT_PART PARENT ausführen.. geht aber nicht!!! denn GATHER kann kein SELECT!!!! Da hilft nur folgender blöder Umweg : ADD_ELEM_INFO '123556253762' SELECT POLY P1 P2 P3 CONFIRM END MODIFY MOVE INFOS '123556253762' 0,0 100000,100000 END { -- hier fehlt noch was !!! -- } INIT_PART '4779' GATHER { nun via box !! } 100100,100100 100200,100200 END MODIFY MOVE INFOS '123556253762' 100000,100000 0,0 END CHANGE_ELEM_INFO '123556253762' '' INFOS '123556253762' END EDIT_PART PARENT in worten: a) ueber einen temporaeren info text die selektion etwas umgehen, b) die selektierten Elemente auserhalb des aktuellen Drawing spaces schieben, c) dort einen GATHER bei box durchführen d) die elemente wieder zurück schieben e) die TEMP info entfernen hier fehlt noch was !!! -->> die dort JWD benoetigte BOX muesste man sich nun erst errechnen aus den markierten elementen. Ich habe das leider schon SO praktizieren muessen. Wenn jemand ne bessere Lösung hat. Gerne! Ufff! ------------------ ● Seamonkey Firefox Thunderbird Seamonkey auf deutsch ● OSD Hilfeseite (de) / help page (en) ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19044.2006 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1 ● @Scirotec201804
|
erstellt am: 19. Aug. 2008 19:43 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
|
holt Mitglied Systembetreuer CAD
Beiträge: 713 Registriert: 07.08.2003
|
erstellt am: 20. Aug. 2008 06:07 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Zitat: Original erstellt von der_Wolfgang: Peter muesste nun ein INIT_PART '4779' GATHER SELECT POLY P1 P2 P3 CONFIRM END EDIT_PART PARENT ausführen.. geht aber nicht!!! denn GATHER kann kein SELECT!!!!
Hallo Wolfgang, warum nicht einfach CREATE_SUBPART anstatt INIT_PART? also so: Code:
CREATE_SUBPART '4779' SELECT POLY P1 P2 P3 CONFIRM END
Hannes hats übrigens schon so beschrieben (er hat halt den Namen im Menü verwendet anstatt den Befehl dahinter). ------------------ Gruß aus dem Salzkammergut Thomas Hollerweger [Diese Nachricht wurde von holt am 20. Aug. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
holt Mitglied Systembetreuer CAD
Beiträge: 713 Registriert: 07.08.2003 Lenovo ThinkStation P320 Xeon E3-1245v5@3.50GHz, 32GB NVIDIA Quadro P2000 4 GB Creo Elements/Direct Modeling 20.1 Creo Elements/Direct Drafting 20.1 Creo Elements/Direct ModelManager 20.1
|
erstellt am: 20. Aug. 2008 07:12 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Hab mich etwas gespielt und das ist dabei herausgekommen: Code:
DEFINE Wandle_dreieck_polyelemente_zu_teilen LOCAL i LET I 1 INQ_SELECTED_ELEM SELECT POLYELEMENTS ALL CONFIRM WHILE (INQ 14) LET P1 (INQ 101) LET P2 (INQ 102) INQ_NEXT_ELEM LET Pa (INQ 101) LET Pb (INQ 102) INQ_NEXT_ELEM LET Pc (INQ 101) LET Pd (INQ 102) IF ((Pa<>P1) and (Pa<>P2)) LET P3 Pa ELSE_IF ((Pb<>P1) and (Pb<>P2)) LET P3 Pb ELSE_IF ((Pc<>P1) and (Pc<>P2)) LET P3 Pc ELSE DISPLAY ('Fehler bei Der Punktermittlung') CANCEL END_IF CREATE_SUBPART (STR I) SELECT P1 ADD POLY P1 P2 P3 P1 CONFIRM END LET I (I+1) INQ_SELECTED_ELEM SELECT POLYELEMENTS ALL CONFIRM END_WHILE END_DEFINE
Die Punktermittlung ist sehr einfach gestrickt und funktioniert nur bei sauber geschlossenen Dreiecken. Aber funktionieren tuts. ------------------ Gruß aus dem Salzkammergut Thomas Hollerweger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
H.annes Mitglied CAD-Pfriemler
Beiträge: 482 Registriert: 02.07.2001 ME10 8.7 - PTC DirectDrafting 19.00; OSM 15.xx - PTC DM 19.xx
|
erstellt am: 20. Aug. 2008 07:53 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Zitat: Original erstellt von holt: Hab mich etwas gespielt und das ist dabei herausgekommen:
Excellent! Hab natürlich CREATE_SUBPART gemeint ... war auch nur als Lösungsansatz gedacht, so schnell vor Arbeitsbeginn ... ------------------ Nur sauber gekämmt sind wir wirklich frei. [HaP] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19044.2006 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1 ● @Scirotec201804
|
erstellt am: 20. Aug. 2008 20:08 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Zitat: Original erstellt von holt: warum nicht einfach CREATE_SUBPART anstatt INIT_PART?Hannes hats übrigens schon so beschrieben (er hat halt den Namen im Menü verwendet anstatt den Befehl dahinter).
CREATE_SUBPART kann den select.. hmmm Da hat mein macro wissen wohl ein Loch. Da muss ich ja direkt mal probieren was von mir erzeugtes umzustellen. "Never change a running system" hoch -1 sozusagen Jaaaaaa, so mit den Menues habe ich es nicht. Das gebe ich offen zu.
---------------- Die mehrfache Anwendung von INQ_SELECTED_ELEM SELECT POLYELEMENTS ALL CONFIRM kommt mir nach wie vor sehr suspekt vor, wenn ich den o.g. geschriebenen Macro so trocken lese. Auch gehst Du davon aus das die ersten 3 elemente die der INQ_SELECTED_ELEM zurueckliefert zu *einer* zusammenhaengenden Kontour gehoeren. Das erscheint mir sehr unsicher, weil die Reihenfolge in der die selektieren Elemente zurückkommen nicht garantiert ist, also zufällig ist. noch ein hmmmmm. INQ_SELECTED_ELEM SELECT POLYELEMENTS ALL CONFIRM LET Selected_elems (INQ 14) LET I 1 WHILE (I < Selected_elems) ..... LET I I+1 INQ_NEXT_ELEM END_WHILE so sehen solche loops bei mir aus. Also den teuren *dicken* INQ_SELECTED_ELEM (selectiere 19753475 elemente) moeglichst nur einmal aufrufen. Vielleicht ist da auch mein Blick durch die immer groessenen Kundenfiles etwas überschärft Muss ich mir Dein Macro mal life anschauen; es gibt fuer mich keinen Grund an Deinem "Aber funktionieren tuts" keinen Glauben zu schenken ------------------ ● Seamonkey Firefox Thunderbird Seamonkey auf deutsch ● OSD Hilfeseite (de) / help page (en) ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
holt Mitglied Systembetreuer CAD
Beiträge: 713 Registriert: 07.08.2003
|
erstellt am: 21. Aug. 2008 13:30 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Hallo Wolfgang, hab ichs mir doch gedacht, dass so einem Profi wie dir mein Code nicht gefällt. Ich bin in meinem Code davon ausgegangen, dass die Dreiecke immer zu einem Polyelement zusammengefasst sind, daher SELECT POLYELEMENTS. Dadurch brauche ich nur eine Linie selektieren um das gesamte Dreieck auszuwählen. Das bewirkt wiederum, dass ich mit inq_next_elem nicht weiterkomme, da ich überprüfen müsste, ob die Linie bereits zum vorhergehenden Teil hinzugefügt wurde. Daher das wiederholte INQ_SELECTED_ELEM SELECT POLYELEMENTS ALL CONFIRM. Dass in einer Zeichnung zigtausend Linien enthalten sind ist mehr sehr wohl bewusst, da das bei uns auch ständig vorkommt. Allerdings ist der Zeitgewinn durch das Makro derart groß, dass das *dicke* INQ_SELECTED_ELEM wieder egal ist. Du hast recht wenn du sagst, dass die Elemente zufällig daherkommen, daher müsste man eigentlich das erste Element abfragen und dann nochmal ein INQ_SELECTED_ELEM SELECT POLYELEMENTS (INQ 101) CONFIRM ausführen, dann bekommt man mit Sicherheit nur die Elemente eines Dreiecks. Dadurch wird allerdings die erste Abfragematrix überschrieben, somit kann ich mit INQ_NEXT_ELEM nichts mehr anfangen. [edit]:falsche Aussage korrigiert ------------------ Gruß aus dem Salzkammergut
Thomas Hollerweger [Diese Nachricht wurde von holt am 21. Aug. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
Beiträge: 2017 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19044.2006 ● Drafting V17~V20.5.1 ● Modeling V17~V20.5.1 ● @Scirotec201804
|
erstellt am: 21. Aug. 2008 23:49 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Zitat: Original erstellt von holt: hab ichs mir doch gedacht, dass so einem Profi wie dir mein Code nicht gefällt.
nnn..jaaa... hmmmm... manchmal bin ich da auch sehr 'gemein' was Randbedinungen, oder versteckte Annahmen angeht. Da ist dann meine Skepsis immer etwas gross. Zitat:
Dadurch wird allerdings die erste Abfragematrix überschrieben, somit kann ich mit INQ_NEXT_ELEM nichts mehr anfangen.
JA: verschachelte INQs + LOOPs sind immer wieder ein unersättlicher Schwamm für heißgewordenen Gehirnschmalz .. und zum Schluss kommt einer daher und macht das mit 10 Zeilen ganz anderem code ------------------ ● Seamonkey Firefox Thunderbird Seamonkey auf deutsch ● OSD Hilfeseite (de) / help page (en) ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
holt Mitglied Systembetreuer CAD
Beiträge: 713 Registriert: 07.08.2003
|
erstellt am: 25. Aug. 2008 17:30 <-- editieren / zitieren --> Unities abgeben: Nur für Greskamp
Zitat: Original erstellt von der_Wolfgang: .. und zum Schluss kommt einer daher und macht das mit 10 Zeilen ganz anderem code
Echt? Zeig mal! ------------------ Gruß aus dem Salzkammergut Thomas Hollerweger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |