| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
| HPE Aruba Networking Central Next-Generation, ein Webinar am 19.02.2025
|
Autor
|
Thema: Schraffurmuster (20855 mal gelesen)
|
woho Mitglied im (Un)Ruhestand
Beiträge: 1480 Registriert: 05.09.2000 von SolidDesigner ab 1.0 ueber Precision Engineering Dynamic Modeling ueber CoCreate Modeling bis Creo Elements/Direct 19.x
|
erstellt am: 12. Jun. 2003 13:46 <-- editieren / zitieren --> Unities abgeben:
|
fruehauf Mitglied Technische Zeichnerin
Beiträge: 28 Registriert: 12.06.2003
|
erstellt am: 12. Jun. 2003 14:23 <-- editieren / zitieren --> Unities abgeben: Nur für woho
|
woho Mitglied im (Un)Ruhestand
Beiträge: 1480 Registriert: 05.09.2000 von SolidDesigner ab 1.0 ueber Precision Engineering Dynamic Modeling ueber CoCreate Modeling bis Creo Elements/Direct 19.x
|
erstellt am: 12. Jun. 2003 14:27 <-- editieren / zitieren --> Unities abgeben:
Das habe ich auch gefunden. Aber nun waere interssant, wie ein solches Muster dann aussehen soll, wenn ich z.B. folgende Materialien habe: Stahl, Alu, Kupfer, Nickel, Holz, verschiedene Kunststoffe, ... Gruss WoHo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fruehauf Mitglied Technische Zeichnerin
Beiträge: 28 Registriert: 12.06.2003
|
erstellt am: 12. Jun. 2003 14:33 <-- editieren / zitieren --> Unities abgeben: Nur für woho
|
CADMike Mitglied Konstrukteur
Beiträge: 118 Registriert: 16.01.2003 - SolidWorks - 3DVIA Composer - Cinema4D
|
erstellt am: 12. Jun. 2003 15:03 <-- editieren / zitieren --> Unities abgeben: Nur für woho
Hallo WoHo, da wir uns hier im ME10-Forum befinden, denke ich, daß Du ein Schraffurtool suchst, das vordefinierte Materialschraffuren erstellt. Die Schraffuren aus der DIN 201 sind schon so alt, und wahrscheinlich noch für´s Zeichenbrett konzipiert. Wenn Du diese Schraffurmuster im ME10 erstellen willst bekommst Du so einige Probleme, da die Schraffuren im ME10 nur über Linientypen definiert werden. Ich habe ein kleines Macro für verschiedene Schraffuren im ME10. Wenn Interesse besteht lass es mich wissen, kleine PM. Gruß CADMike
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
woho Mitglied im (Un)Ruhestand
Beiträge: 1480 Registriert: 05.09.2000 von SolidDesigner ab 1.0 ueber Precision Engineering Dynamic Modeling ueber CoCreate Modeling bis Creo Elements/Direct 19.x
|
erstellt am: 12. Jun. 2003 15:11 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von fruehauf: ist doch auch alles abgebildet. oder siehst du die bilder nicht?
Das Bild habe ich schon gesehen. Nur wusste ich nicht, ob es noch eine genauere Unterteilung fuer Schraffurmuster gibt (z.B. Kupfer, Alu, ...). Da denke ich mir, dass da die Regelung Leichtmetalle - Schwermetalle gilt, da ansonsten der Aufwand mit verschiedenen Schraffurtypen zu hoch wird. Besten Dank fur die Info. Gruss WoHo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
woho Mitglied im (Un)Ruhestand
Beiträge: 1480 Registriert: 05.09.2000 von SolidDesigner ab 1.0 ueber Precision Engineering Dynamic Modeling ueber CoCreate Modeling bis Creo Elements/Direct 19.x
|
erstellt am: 12. Jun. 2003 15:16 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADMike: ... da wir uns hier im ME10-Forum befinden, denke ich, daß Du ein Schraffurtool suchst, das vordefinierte Materialschraffuren erstellt. ... Ich habe ein kleines Macro für verschiedene Schraffuren im ME10. Wenn Interesse besteht lass es mich wissen, kleine PM. ...
Hallo Mike, ich moechte eigentlich kein Makro schreiben. Besten Dank fuer Deine Hilfe. Ich moechte mir im OSDM eine Schraffurmustertabelle erstellen, die es ermoeglicht, bei Zuordnung eines Werkstoffes an ein Modell automatisch die Schraffur auf das richtige Schraffurmuster zu setzen. Und dazu wollte ich wissen, welche Schraffuren so die gaengigen sind, damit ich das so festlegen kann. Die Infos, die ich dazu bekommen habe, sollten mir dazu genuegen. Gruss WoHo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hasan59 Mitglied Konstrukteur
Beiträge: 2 Registriert: 28.02.2014
|
erstellt am: 28. Feb. 2014 08:57 <-- editieren / zitieren --> Unities abgeben: Nur für woho
Hallo CADMike, bin neu dabei und auf such von Schraffur Mustern. Hätte interresse an deinen Macro und wie integriert mand den Makro ins Programm. Ist es auch möglich voll flächig zu schraffieren. Grüße Hasan59
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gerhard Deeg Ehrenmitglied V.I.P. h.c. i.R. Konstrukteur aus Leidenschaft
Beiträge: 2643 Registriert: 17.12.2000 CREO - OSD - OSM HP XW4400 - XW4600 Dell Inspiron 17E NVIDIA QUADRO FX1500 NVIDIA Quadro FX1800 HP Mini 210 2002sg WIN 7 Ultimate 32/64
|
erstellt am: 28. Feb. 2014 11:21 <-- editieren / zitieren --> Unities abgeben: Nur für woho
Hallo Hasan59, Zitat: Original erstellt von Hasan59: Hallo CADMike,bin neu dabei und auf suche von Schraffur Mustern. Hätte interresse an Deinen Macro und wie integriert man denn Makros ins Programm. Ist es auch möglich vollflächig zu schraffieren? Grüße Hasan59
verändere doch einfach den Abstand der Schraffur von jetzt wahrscheinlich 3mm auf 0mm, dann hast Du das vollflächig schraffiert. Andere Muster bekommst Du ganz einfach hin, wenn Du die Linienart änderst. Gruß Gerhard ------------------ Jeder erfüllte Wunsch ist ein Traum weniger. Träume sind die Sonnenstunden der Hoffnung. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
karl-josef_wernet Mitglied SysAdmin CAD-ME
Beiträge: 1013 Registriert: 27.11.2000 PTC-Direct-Modeling/Drafting 19.0 Classic/Tablett DELL T5820, Precision 7760 Workmanager/Model-/Drawing-Manager WIN10
|
erstellt am: 28. Feb. 2014 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für woho
Kleiner Hinweis zu 0-Abstand-Schraffuren: Dies funktioniert nur wenn keine Innenflächen frei bleiben müssen. Beispiel: Querschnitt durch ein Rohr. (2 konzentrische Kreise) Besser Schraffurabstand .03mm (> 0.0254 um genau zu sein) Alternative Flächen trennen, so dass keine freien Innenflächen entstehen. ------------------ kjw Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roman Mitglied
Beiträge: 704 Registriert: 16.01.2001
|
erstellt am: 28. Feb. 2014 13:58 <-- editieren / zitieren --> Unities abgeben: Nur für woho
|
karl-josef_wernet Mitglied SysAdmin CAD-ME
Beiträge: 1013 Registriert: 27.11.2000 PTC-Direct-Modeling/Drafting 19.0 Classic/Tablett DELL T5820, Precision 7760 Workmanager/Model-/Drawing-Manager WIN10
|
erstellt am: 28. Feb. 2014 14:01 <-- editieren / zitieren --> Unities abgeben: Nur für woho
Falsch, beim Druck wird der Schraffurabstand auf 0.1 gesetzt. Das siehst Du nicht, wenn Du Strichstärken > 0.1 verwendest. Wir verwenden aber für besonders feine Bedruckung Strickstärken mit 0.085mm (= 300dpi Auflösung) und da hast Du dann Lücken zwischen den Linien ------------------ kjw Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Roman Mitglied
Beiträge: 704 Registriert: 16.01.2001
|
erstellt am: 28. Feb. 2014 14:02 <-- editieren / zitieren --> Unities abgeben: Nur für woho
|
karl-josef_wernet Mitglied SysAdmin CAD-ME
Beiträge: 1013 Registriert: 27.11.2000 PTC-Direct-Modeling/Drafting 19.0 Classic/Tablett DELL T5820, Precision 7760 Workmanager/Model-/Drawing-Manager WIN10
|
erstellt am: 28. Feb. 2014 14:11 <-- editieren / zitieren --> Unities abgeben: Nur für woho
|
Gerhard Deeg Ehrenmitglied V.I.P. h.c. i.R. Konstrukteur aus Leidenschaft
Beiträge: 2643 Registriert: 17.12.2000 CREO - OSD - OSM HP XW4400 - XW4600 Dell Inspiron 17E NVIDIA QUADRO FX1500 NVIDIA Quadro FX1800 HP Mini 210 2002sg WIN 7 Ultimate 32/64
|
erstellt am: 28. Feb. 2014 15:55 <-- editieren / zitieren --> Unities abgeben: Nur für woho
Hallo Ihr Zwei, da hab ich mal wieder eine Diskussion angestoßen. Freut mach aber, dass diese gelöst werden konnte. Gruß Gerhard ------------------ Jeder erfüllte Wunsch ist ein Traum weniger. Träume sind die Sonnenstunden der Hoffnung. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
friedhelm at work Mitglied Techniker Aluminium Profile
Beiträge: 913 Registriert: 01.04.2003 Creo Elements Direct /Drafting 17+20.x ui classic-Tablett + Windows, Modeling 17-20.x Lizenz auf USB-Netzwerkadapter PE-Express 8 Win 10 Enterprise 64 @work Win 10 Pro 64 @home Notepad++,IrfanView,eDrawings, ....
|
erstellt am: 02. Mrz. 2014 09:47 <-- editieren / zitieren --> Unities abgeben: Nur für woho
|
Hasan59 Mitglied Konstrukteur
Beiträge: 2 Registriert: 28.02.2014
|
erstellt am: 05. Mrz. 2014 06:46 <-- editieren / zitieren --> Unities abgeben: Nur für woho
|
friedhelm at work Mitglied Techniker Aluminium Profile
Beiträge: 913 Registriert: 01.04.2003 Creo Elements Direct /Drafting 17+20.x ui classic-Tablett + Windows, Modeling 17-20.x Lizenz auf USB-Netzwerkadapter PE-Express 8 Win 10 Enterprise 64 @work Win 10 Pro 64 @home Notepad++,IrfanView,eDrawings, ....
|
erstellt am: 05. Mrz. 2014 10:42 <-- editieren / zitieren --> Unities abgeben: Nur für woho
Hallo Hasan, Entpacke den zip in ein Verzeichnis deiner Wahl. Editiere jetzt erst mal die Datei 'Pfad zum Verzeichnis deiner Wahl\POLYHTCH.MAC' und setze die Linien 27-33 zwischen Hakenklammern { xxxxx } Da werden Funktionstasten belegt was für das normale Funktionieren nicht nötig ist. Speichern. Für den Test in die Befehlseingabelinie, für dauerhaftes Laden in die customize.m im Installationsverzeichnis. INPUT 'Pfad zum Verzeichnis deiner Wahl\POLYHTCH.MAC' Macrostart: ph_draw dann wirst du aufgefordert die Datei mit der gewünschten Schrafur anzugeben. zB. 'Pfad zum Verzeichnis deiner Wahl\PH_CONC.DRG' Jetzt zeichnest du über eine bestehende Kontur oder Freihand eine neue Kontur. Sobald du den Anfangspunkt wieder antippst wird die Kontur gefüllt ------------------ Gruss Friedhelm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
r.hoffmann Mitglied Techniker
Beiträge: 128 Registriert: 07.12.2006 OSD 13.2 20.4
|
erstellt am: 05. Mrz. 2014 11:35 <-- editieren / zitieren --> Unities abgeben: Nur für woho
Hallo Hasan, im originalen Makro werden sehr viele Variablen global definiert. Dies kann evtl. andere Sachen negativ beeinflussen. Deshalb immer sehr sparsam damit umgehen. Wie Friedhelm schon sagte, sind die Funktionstasten bei Euch vielleicht schon andereitig belegt...... Ich habe mal einige Sachen in dem Makro weggelassen bzw. neu geschrieben. Speicher das unter der Linie stehende als schraffur.mac ab. In den ersten Zeilen wird beschrieben, was Du anpassen, laden bzw. ausführen musst. Gruß Robert ------------------------------------------------------------------------------------ {### Original- Makro ist auf http://www.cocreateusers.org/macros/archive/me10/polyhatch/polyhatch.zip zu finden ###} {#####################} {### ANPASSEN !!!! ###} {#####################} {### Festlegen der Datei, die das Schraffurmuster enthält ###} let ph_f 'D:\eva_me10_macros\downloads\america_user_group\polyhatch\ph_conc.mi'
{#####################} {### ANPASSEN !!!! ###} {#####################} {### laden mit input'D:\eva_me10_macros\downloads\america_user_group\polyhatch\schraffur.mac'
Aufruf durch ph_draw ph_f ###} {#########################} {### globale Variable ###} {### ph_low_pt ###} {### ph_high_pt ###} {### ph_partname ###} {#########################} {---PH_DRAW---Tim Sharp---Macro No.39---}
define ph_draw parameter ph_fn local P1 local P2 local P3 local P4 local P5 local Pxdiff local Pydiff local no_x local no_y local row_no_x local symbtype local ph_split_pt1 local ph_split_pt2 local Ptemp local ph_low_left_pt local ph_up_right_pt local ph_symbol_width local ph_symbol_height local ph_row local ph_pt1 local ph_pt2 local a_row { loop } ph_define_poly ph_get_poly_area_extents let p1 ph_low_pt let p2 ph_high_pt let ph_split_pt1 p1 let Ptemp (str(P2)) let Pxdiff (X_OF (P2-P1)) let Pydiff (Y_OF (P2-P1)) let P3 (P1) init_subpart 'poly_hatch' load subpart ph_fn P3 inq_env 7 let ph_low_left_pt (inq 101) let ph_up_right_pt (inq 102) let ph_symbol_width (x_of (ph_up_right_pt - ph_low_left_pt)) let ph_symbol_height (y_of (ph_up_right_pt - ph_low_left_pt)) let no_x ((ABS(Pxdiff))/ph_symbol_width) let no_y ((ABS(Pydiff))/ph_symbol_height) display_no_wait 'loading poly hatching...' if (no_x > 1) let row_no_x (no_x) let P4 (P3+(PNT_XY ph_symbol_width 0)) loop display_no_wait 'loading poly hatching...' load subpart ph_fn P4 let row_no_x (row_no_x -1) exit_if (row_no_x < 1) let P4 (P4+(PNT_XY ph_symbol_width 0)) end_loop end_if if (no_y > 1) let P5 (P3+(PNT_XY 0 ph_symbol_height)) loop display_no_wait 'loading poly hatching...' load subpart ph_fn P5 if (no_x > 1) let row_no_x (no_x) let P4 (P5+(PNT_XY ph_symbol_width 0)) loop display_no_wait 'loading poly hatching...' load subpart ph_fn P4 let row_no_x (row_no_x -1) exit_if (row_no_x < 1) let P4 (P4+(PNT_XY ph_symbol_width 0)) end_loop end_if let no_y (no_y -1) exit_if (no_y < 1) let P5 (P5+(PNT_XY 0 ph_symbol_height)) end_loop end_if display_no_wait 'splitting overlapping edge lines... ' smash_subpart all add_current_info 'poly_hatch_outline' let ph_row 1 let ph_pt1 (val(str(read_ltab 'poly_pts_ltab' ph_row 1))) line solid polygon loop let ph_pt2 (val(str(read_ltab 'poly_pts_ltab' ph_row 1))) ph_pt2 exit_if (ph_row >= (ltab_rows 'poly_pts_ltab')) let ph_row (ph_row + 1) end_loop end line solid two_pts ph_pt1 ph_pt2 end change_current_info 'poly_hatch_outline' '' let ph_split_pt1 (p1 - (pnt_xy 1 1)) let no_x ((ABS(Pxdiff))/ph_symbol_width) let no_y ((ABS(Pydiff))/ph_symbol_height) if ((round no_x) <> no_x) let no_x (round no_x + 1) end_if if ((round no_y) <> no_y) let no_y (round no_y + 1) end_if let ph_split_pt2 (ph_split_pt1 + (pnt_xy (ph_symbol_width * no_x)(ph_symbol_height * no_y))) let ph_split_pt2 (ph_split_pt2 + (pnt_xy 1 1)) split ph_split_pt1 ph_split_pt2 display_no_wait 'deleting lines outside hatch area... ' delete select all subtract poly let a_row 1 while (a_row <= (ltab_rows 'poly_pts_ltab')) (val read_ltab 'poly_pts_ltab' a_row 1) let a_row (a_row + 1) end_while close confirm end delete infos 'poly_hatch_outline' edit_part top delete ph_partname end { end_loop } end_define {---PH_DEFINE_POLY---TIM SHARP---Macro No.27---} define ph_define_poly local a_row local a_pt1 local a_last_pt local a_next_pt local ll_write_ltab local dr_prompt let dr_prompt 'Anfangspunkt antippen' create_ltab 'poly_pts_ltab' read pnt prompt dr_prompt a_pt1 trap_error delete_table "dr_prompt_table" if (check_error) end_if init_part 'temp_poly_part' inq_env 7 let ph_partname ('~' + (inq 302)) let a_row 1 write_ltab 'poly_pts_ltab' a_row 1 (str a_pt1) let a_row (a_row + 1) let a_last_pt a_pt1 let dr_prompt 'weiteren Punkt antippen (bis Punkt = Anfangspunkt)' loop read pnt prompt dr_prompt rubber_line a_last_pt a_next_pt trap_error delete_table "dr_prompt_table" if (check_error) end_if if ((round a_last_pt) = (round a_next_pt)) let ll_write_ltab 'n' if (a_row > 1) let a_row (a_row - 1) delete_ltab_row 'poly_pts_ltab' a_row delete a_last_pt end let a_next_pt (val(read_ltab 'poly_pts_ltab' (a_row - 1) 1)) else let a_next_pt a_pt1 end_if else let ll_write_ltab 'y' line phantom magenta a_last_pt a_next_pt end end_if exit_if (((round (a_next_pt * 1000)) = (round (a_pt1 * 1000))) and (ltab_rows 'poly_pts_ltab' > 1)) if (ll_write_ltab = 'y') write_ltab 'poly_pts_ltab' a_row 1 (str a_next_pt) let a_row (a_row + 1) end_if let a_last_pt a_next_pt end_loop add_elem_info 'poly_hatch_outline' all end end_part end end_define {---PH_GET_POLY_AREA_EXTEMTS---Tim Sharp---Macro No.39---}
define ph_get_poly_area_extents local ph_temp_pt local ph_low_x local ph_low_y local ph_high_x local ph_high_y local a_row local ph_temp_x local ph_temp_y let ph_temp_pt (val read_ltab 'poly_pts_ltab' 1 1) let ph_low_x (x_of ph_temp_pt) let ph_low_y (y_of ph_temp_pt) let ph_high_x (x_of ph_temp_pt) let ph_high_y (y_of ph_temp_pt) let a_row 2 loop exit_if (a_row > (ltab_rows 'poly_pts_ltab')) let ph_temp_pt (val read_ltab 'poly_pts_ltab' a_row 1) let ph_temp_x (x_of ph_temp_pt) let ph_temp_y (y_of ph_temp_pt) if (ph_temp_x < ph_low_x) let ph_low_x ph_temp_x end_if if (ph_temp_x > ph_high_x) let ph_high_x ph_temp_x end_if if (ph_temp_y < ph_low_y) let ph_low_y ph_temp_y end_if if (ph_temp_y > ph_high_y) let ph_high_y ph_temp_y end_if let a_row (a_row + 1) end_loop let ph_low_pt (pnt_xy ph_low_x ph_low_y) let ph_high_pt (pnt_xy ph_high_x ph_high_y) end_define
------------------ Homepage: www.me10-makros.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |