@@ -83,113 +83,183 @@ def test_modes():
83
83
84
84
def test_distribute ():
85
85
86
- s1 = Sketch ().rarray (2 , 2 , 3 , 3 ).rect (1 , 1 )
87
-
88
- assert s1 ._faces .Area () == approx (9 )
89
- assert len (s1 ._faces .Faces ()) == 9
90
-
91
- s2 = Sketch ().parray (2 , 0 , 90 , 3 ).rect (1 , 1 )
92
-
93
- assert s2 ._faces .Area () == approx (3 )
94
- assert len (s2 ._faces .Faces ()) == 3
86
+ with raises (ValueError ):
87
+ Sketch ().rect (2 , 2 ).faces ().distribute (5 )
95
88
96
89
with raises (ValueError ):
97
- Sketch ().rarray (2 , 2 , 3 , 0 ). rect ( 1 , 1 )
90
+ Sketch ().rect (2 , 2 ). distribute ( 5 )
98
91
99
92
with raises (ValueError ):
100
- Sketch ().parray ( 2 , 0 , 90 , 0 ). rect ( 1 , 1 )
93
+ Sketch ().circle ( 1 ). wires (). distribute ( 0 , 0 , 1 )
101
94
102
- s3 = Sketch ().circle (4 , mode = "c" , tag = "c" ).edges (tag = "c" ).distribute (3 ). rect ( 1 , 1 )
95
+ s1 = Sketch ().circle (4 , mode = "c" , tag = "c" ).edges (tag = "c" ).distribute (3 )
103
96
104
- assert s2 . _faces . Area ( ) == approx (3 )
105
- assert len ( s3 . _faces . Faces ()) == 3
106
- assert len ( s3 . reset (). vertices ( "<X" ). _selection ) == 2
97
+ assert len ( s1 . _selection ) == approx (3 )
98
+
99
+ s1 . rect ( 1 , 1 )
107
100
108
- for f in s3 ._faces .Faces ():
101
+ assert s1 ._faces .Area () == approx (3 )
102
+ assert len (s1 ._faces .Faces ()) == 3
103
+ assert len (s1 .reset ().vertices ("<X" )._selection ) == 2
104
+
105
+ for f in s1 ._faces .Faces ():
109
106
assert f .Center ().Length == approx (4 )
110
107
111
- s4 = (
108
+ s2 = (
112
109
Sketch ()
113
110
.circle (4 , mode = "c" , tag = "c" )
114
111
.edges (tag = "c" )
115
112
.distribute (3 , rotate = False )
116
113
.rect (1 , 1 )
117
114
)
118
115
119
- assert s4 ._faces .Area () == approx (3 )
120
- assert len (s4 ._faces .Faces ()) == 3
121
- assert len (s4 .reset ().vertices ("<X" )._selection ) == 4
116
+ assert s2 ._faces .Area () == approx (3 )
117
+ assert len (s2 ._faces .Faces ()) == 3
118
+ assert len (s2 .reset ().vertices ("<X" )._selection ) == 4
122
119
123
- for f in s4 ._faces .Faces ():
120
+ for f in s2 ._faces .Faces ():
124
121
assert f .Center ().Length == approx (4 )
125
122
126
- with raises (ValueError ):
127
- Sketch ().rect (2 , 2 ).faces ().distribute (5 )
123
+ s3 = (
124
+ Sketch ().circle (4 , mode = "c" , tag = "c" ).edges (tag = "c" ).distribute (3 , 0.625 , 0.875 )
125
+ )
126
+
127
+ assert len (s3 ._selection ) == approx (3 )
128
+
129
+ s3 .rect (1 , 0.5 ).reset ().vertices ("<X" )
130
+
131
+ assert s3 ._selection [0 ].toTuple () == approx (
132
+ (- 3.358757210636101 , - 3.005203820042827 , 0.0 )
133
+ )
134
+
135
+ s3 .reset ().vertices (">X" )
136
+
137
+ assert s3 ._selection [0 ].toTuple () == approx (
138
+ (3.358757210636101 , - 3.005203820042827 , 0.0 )
139
+ )
140
+
141
+ s4 = Sketch ().arc ((0 , 0 ), 4 , 180 , 180 ).edges ().distribute (3 , 0.25 , 0.75 )
142
+
143
+ assert len (s4 ._selection ) == approx (3 )
144
+
145
+ s4 .rect (1 , 0.5 ).reset ().faces ("<X" ).vertices ("<X" )
146
+
147
+ assert s4 ._selection [0 ].toTuple () == approx (
148
+ (- 3.358757210636101 , - 3.005203820042827 , 0.0 )
149
+ )
150
+
151
+ s4 .reset ().faces (">X" ).vertices (">X" )
152
+
153
+ assert s4 ._selection [0 ].toTuple () == approx (
154
+ (3.358757210636101 , - 3.005203820042827 , 0.0 )
155
+ )
156
+
157
+ s5 = (
158
+ Sketch ()
159
+ .arc ((0 , 2 ), 4 , 0 , 90 )
160
+ .arc ((0 , - 2 ), 4 , 0 , - 90 )
161
+ .edges ()
162
+ .distribute (4 , 0 , 1 )
163
+ .circle (0.5 )
164
+ )
165
+
166
+ assert len (s5 ._selection ) == approx (8 )
167
+
168
+ s5 .reset ().faces (">X" ).faces (">Y" )
169
+
170
+ assert s5 ._selection [0 ].Center ().toTuple () == approx ((4.0 , 2.0 , 0.0 ))
171
+
172
+ s5 .reset ().faces (">X" ).faces ("<Y" )
173
+
174
+ assert s5 ._selection [0 ].Center ().toTuple () == approx ((4.0 , - 2.0 , 0.0 ))
175
+
176
+ s5 .reset ().faces (">Y" )
177
+
178
+ assert s5 ._selection [0 ].Center ().toTuple () == approx ((0.0 , 6.0 , 0.0 ))
179
+
180
+
181
+ def test_rarray ():
128
182
129
183
with raises (ValueError ):
130
- Sketch ().rect (2 , 2 ). distribute ( 5 )
184
+ Sketch ().rarray (2 , 2 , 3 , 0 ). rect ( 1 , 1 )
131
185
132
- s5 = Sketch ().push ([( 0 , 0 ), ( 1 , 1 )]). rarray (2 , 2 , 3 , 3 ).rect (0.5 , 0.5 )
186
+ s1 = Sketch ().rarray (2 , 2 , 3 , 3 ).rect (1 , 1 )
133
187
134
- assert s5 ._faces .Area () == approx (18 * 0.25 )
135
- assert len (s5 ._faces .Faces ()) == 18
136
- assert s5 .reset ().vertices (">(1,1,0)" )._selection [0 ].toTuple () == approx (
188
+ assert s1 ._faces .Area () == approx (9 )
189
+ assert len (s1 ._faces .Faces ()) == 9
190
+
191
+ s2 = Sketch ().push ([(0 , 0 ), (1 , 1 )]).rarray (2 , 2 , 3 , 3 ).rect (0.5 , 0.5 )
192
+
193
+ assert s2 ._faces .Area () == approx (18 * 0.25 )
194
+ assert len (s2 ._faces .Faces ()) == 18
195
+ assert s2 .reset ().vertices (">(1,1,0)" )._selection [0 ].toTuple () == approx (
137
196
(3.25 , 3.25 , 0 )
138
197
)
139
198
140
- s6 = Sketch ().push ([(0 , 0 ), (1 , 1 )]).parray (2 , 0 , 90 , 3 ).rect (0.5 , 0.5 )
141
199
142
- assert s6 ._faces .Area () == approx (6 * 0.25 )
143
- assert len (s6 ._faces .Faces ()) == 6
200
+ def test_parray ():
144
201
145
- s7 = Sketch ().parray (2 , 0 , 90 , 3 , False ).rect (0.5 , 0.5 ).reset ().vertices (">(1,1,0)" )
202
+ with raises (ValueError ):
203
+ Sketch ().parray (2 , 0 , 90 , 0 ).rect (1 , 1 )
146
204
147
- assert len (s7 ._selection ) == 1
148
- assert s7 ._selection [0 ].toTuple () == approx (
205
+ s1 = Sketch ().parray (2 , 0 , 90 , 3 ).rect (1 , 1 )
206
+
207
+ assert s1 ._faces .Area () == approx (3 )
208
+ assert len (s1 ._faces .Faces ()) == 3
209
+
210
+ s2 = Sketch ().push ([(0 , 0 ), (1 , 1 )]).parray (2 , 0 , 90 , 3 ).rect (0.5 , 0.5 )
211
+
212
+ assert s2 ._faces .Area () == approx (6 * 0.25 )
213
+ assert len (s2 ._faces .Faces ()) == 6
214
+
215
+ s3 = Sketch ().parray (2 , 0 , 90 , 3 , False ).rect (0.5 , 0.5 ).reset ().vertices (">(1,1,0)" )
216
+
217
+ assert len (s3 ._selection ) == 1
218
+ assert s3 ._selection [0 ].toTuple () == approx (
149
219
(1.6642135623730951 , 1.664213562373095 , 0.0 )
150
220
)
151
221
152
- s8 = Sketch ().push ([(0 , 0 ), (0 , 1 )]).parray (2 , 0 , 90 , 3 ).rect (0.5 , 0.5 )
153
- s8 .reset ().faces (">(0,1,0)" )
222
+ s4 = Sketch ().push ([(0 , 0 ), (0 , 1 )]).parray (2 , 0 , 90 , 3 ).rect (0.5 , 0.5 )
223
+ s4 .reset ().faces (">(0,1,0)" )
154
224
155
- assert s8 ._selection [0 ].Center ().Length == approx (3 )
225
+ assert s4 ._selection [0 ].Center ().Length == approx (3 )
156
226
157
- s9 = Sketch ().push ([(0 , 1 )], tag = "loc" )
227
+ s5 = Sketch ().push ([(0 , 1 )], tag = "loc" )
158
228
159
- assert len (s9 ._tags ["loc" ]) == 1
229
+ assert len (s5 ._tags ["loc" ]) == 1
160
230
161
- s10 = Sketch ().push ([(- 4 , 1 ), (0 , 0 ), (4 , - 1 )]).parray (2 , 10 , 50 , 3 ).rect (1.0 , 0.5 )
162
- s10 .reset ().vertices (">(-1,0,0)" )
231
+ s6 = Sketch ().push ([(- 4 , 1 ), (0 , 0 ), (4 , - 1 )]).parray (2 , 10 , 50 , 3 ).rect (1.0 , 0.5 )
232
+ s6 .reset ().vertices (">(-1,0,0)" )
163
233
164
- assert s10 ._selection [0 ].toTuple () == approx (
234
+ assert s6 ._selection [0 ].toTuple () == approx (
165
235
(- 3.46650635094611 , 2.424038105676658 , 0.0 )
166
236
)
167
237
168
- s10 .reset ().vertices (">(1,0,0)" )
238
+ s6 .reset ().vertices (">(1,0,0)" )
169
239
170
- assert s10 ._selection [0 ].toTuple () == approx (
240
+ assert s6 ._selection [0 ].toTuple () == approx (
171
241
(6.505431426947252 , - 0.8120814940857262 , 0.0 )
172
242
)
173
243
174
- s11 = Sketch ().parray (1 , 135 , 0 , 1 ).circle (0.1 )
175
- s11 .reset ().faces ()
244
+ s7 = Sketch ().parray (1 , 135 , 0 , 1 ).circle (0.1 )
245
+ s7 .reset ().faces ()
176
246
177
- assert len (s11 ._selection ) == 1
178
- assert s11 ._selection [0 ].Center ().toTuple () == approx (
247
+ assert len (s7 ._selection ) == 1
248
+ assert s7 ._selection [0 ].Center ().toTuple () == approx (
179
249
(- 0.7071067811865475 , 0.7071067811865476 , 0.0 )
180
250
)
181
251
182
- s12 = Sketch ().parray (4 , 20 , 360 , 6 ).rect (1.0 , 0.5 )
252
+ s8 = Sketch ().parray (4 , 20 , 360 , 6 ).rect (1.0 , 0.5 )
183
253
184
- assert len (s12 ._faces .Faces ()) == 6
254
+ assert len (s8 ._faces .Faces ()) == 6
185
255
186
- s12 .reset ().vertices (">(0,-1,0)" )
256
+ s8 .reset ().vertices (">(0,-1,0)" )
187
257
188
- assert s12 ._selection [0 ].toTuple () == approx (
258
+ assert s8 ._selection [0 ].toTuple () == approx (
189
259
(- 0.5352148612481344 , - 4.475046932971669 , 0.0 )
190
260
)
191
261
192
- s13 = (
262
+ s9 = (
193
263
Sketch ()
194
264
.push ([(- 4 , 1 )])
195
265
.circle (0.1 )
@@ -199,11 +269,11 @@ def test_distribute():
199
269
.rect (1.0 , 0.5 , 40 , "a" , "rects" )
200
270
)
201
271
202
- assert len (s13 ._faces .Faces ()) == 4
272
+ assert len (s9 ._faces .Faces ()) == 4
203
273
204
- s13 .reset ().vertices (">(-1,0,0)" , tag = "rects" )
274
+ s9 .reset ().vertices (">(-1,0,0)" , tag = "rects" )
205
275
206
- assert s13 ._selection [0 ].toTuple () == approx (
276
+ assert s9 ._selection [0 ].toTuple () == approx (
207
277
(- 3.3330260270865173 , 3.1810426396582487 , 0.0 )
208
278
)
209
279
0 commit comments