1 # Creation of 2d drawing
4 #Title: Snowflake - creation of 2d drawing
8 puts "Generating sample drawing of snowflake..."
10 # make circular elements
17 trim c21 c21 pi/4 -pi/4
18 trim c22 c22 pi/4 -pi/4
19 trim c31 c31 pi/4 -pi/4
20 trim c32 c32 pi/4 -pi/4
22 line l22 18 7 0 1 -1 0
23 line l31 28.5 5 0 1 1 0
24 line l32 28.5 5 0 1 -1 0
29 line l1 -6 0 0 0.86602540378443864 0.5 0
53 wire b2 c21 l21 c22 l22
55 wire b3 c31 l31 c32 l32
57 prism f5 l1 -5 8.6602540378443864 0
67 wire w r_4 r_1 r_20 r_21 r_22 r_23 r_24 r_25 r_26 r_7 r_30 r_31 r_32 r_33 r_27 r_28 r_29 r_11 r_38 r_34 r_35 r_36 r_37 r_16 r_17
69 tmirror w1 -6 0 0 0 1 0
74 # construct complete snowflake
80 trotate w1 -6 0 0 0 0 1 60
81 trotate w2 -6 0 0 0 0 1 120
82 trotate w3 -6 0 0 0 0 1 180
83 trotate w4 -6 0 0 0 0 1 240
84 trotate w5 -6 0 0 0 0 1 300
92 # keep only wires in compound
93 eval compound [explode r w] snowflake
94 tscale snowflake -6 0 0 1.5
96 # draw frame loosely following GOST 2.104-68
97 polyline frame -100 -100 0 172 -100 0 172 100 0 -100 100 0 -100 -100 0
98 polyline t1 52 -100 0 52 -45 0 172 -45 0
99 polyline t2 52 -60 0 172 -60 0
100 polyline t3 52 -85 0 172 -85 0
101 polyline t4 122 -100 0 122 -60 0
102 polyline t5 122 -80 0 172 -80 0
103 polyline t6 122 -65 0 172 -65 0
104 polyline t7 142 -80 0 142 -85 0
105 polyline t8 137 -80 0 137 -60 0
106 polyline t9 154 -80 0 154 -60 0
107 compound frame t1 t2 t3 t4 t5 t6 t7 t8 t9 lines
110 text2brep sample "SAMPLE" -font Arial -height 10 -pos 90 -55 0 -aspect bolditalic
111 text2brep occ "Open CASCADE" -font Times -height 6 -pos 125 -95 0
112 text2brep name "Snowflake" -font Courier -height 7 -pos 65 -75 0 -aspect italic
113 text2brep material "Ice" -font Courier -height 7 -pos 75 -95 0 -aspect italic
114 text2brep sheets "Sheets 1" -font Courier -height 3.5 -pos 145 -83 0 -aspect italic
115 text2brep scale "Scale\n\n1:100" -font Courier -height 3.5 -pos 157 -63 0 -aspect italic -valign topfirstline
116 text2brep mass "Mass\n\n1 mg" -font Courier -height 3.5 -pos 140 -63 0 -aspect italic -valign topfirstline
117 eval compound [explode sample w] sample
118 eval compound [explode occ w] occ
119 eval compound [explode name w] name
120 eval compound [explode material w] material
121 eval compound [explode sheets w] sheets
122 eval compound [explode scale w] scale
123 eval compound [explode mass w] mass
124 compound sample occ name material sheets scale mass text
126 compound snowflake lines text drawing
129 vinit Driver1/Viewer1/View1 w=1024 h=768
130 vdisplay snowflake lines text
131 vsetcolor snowflake 0 0 0
132 vsetcolor lines 0 0 0
134 vsetcolorbg 255 255 255
140 vdimension length -length -shapes snowflake_89 snowflake_15 -plane xoy -value 0.001 -dispunits mm -showunits -flyout 70 -label above -color black -text 5 3d sh
142 if { [regexp HAVE_GL2PS [dversion]] } {
143 puts "You can use command vexport to generate PDF: vexport your_file_path.pdf"