@@ -83,113 +83,160 @@ 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 )
107
98
108
- for f in s3 ._faces .Faces ():
99
+ s1 .rect (1 , 1 )
100
+
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
+
158
+ def test_rarray ():
128
159
129
160
with raises (ValueError ):
130
- Sketch ().rect (2 , 2 ). distribute ( 5 )
161
+ Sketch ().rarray (2 , 2 , 3 , 0 ). rect ( 1 , 1 )
131
162
132
- s5 = Sketch ().push ([(0 , 0 ), (1 , 1 )]).rarray (2 , 2 , 3 , 3 ).rect (0.5 , 0.5 )
163
+ s1 = Sketch ().rarray (2 , 2 , 3 , 3 ).rect (1 , 1 )
164
+
165
+ assert s1 ._faces .Area () == approx (9 )
166
+ assert len (s1 ._faces .Faces ()) == 9
133
167
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 (
168
+ s2 = Sketch ().push ([(0 , 0 ), (1 , 1 )]).rarray (2 , 2 , 3 , 3 ).rect (0.5 , 0.5 )
169
+
170
+ assert s2 ._faces .Area () == approx (18 * 0.25 )
171
+ assert len (s2 ._faces .Faces ()) == 18
172
+ assert s2 .reset ().vertices (">(1,1,0)" )._selection [0 ].toTuple () == approx (
137
173
(3.25 , 3.25 , 0 )
138
174
)
139
175
140
- s6 = Sketch ().push ([(0 , 0 ), (1 , 1 )]).parray (2 , 0 , 90 , 3 ).rect (0.5 , 0.5 )
141
176
142
- assert s6 ._faces .Area () == approx (6 * 0.25 )
143
- assert len (s6 ._faces .Faces ()) == 6
177
+ def test_parray ():
178
+
179
+ with raises (ValueError ):
180
+ Sketch ().parray (2 , 0 , 90 , 0 ).rect (1 , 1 )
181
+
182
+ s1 = Sketch ().parray (2 , 0 , 90 , 3 ).rect (1 , 1 )
144
183
145
- s7 = Sketch ().parray (2 , 0 , 90 , 3 , False ).rect (0.5 , 0.5 ).reset ().vertices (">(1,1,0)" )
184
+ assert s1 ._faces .Area () == approx (3 )
185
+ assert len (s1 ._faces .Faces ()) == 3
146
186
147
- assert len (s7 ._selection ) == 1
148
- assert s7 ._selection [0 ].toTuple () == approx (
187
+ s2 = Sketch ().push ([(0 , 0 ), (1 , 1 )]).parray (2 , 0 , 90 , 3 ).rect (0.5 , 0.5 )
188
+
189
+ assert s2 ._faces .Area () == approx (6 * 0.25 )
190
+ assert len (s2 ._faces .Faces ()) == 6
191
+
192
+ s3 = Sketch ().parray (2 , 0 , 90 , 3 , False ).rect (0.5 , 0.5 ).reset ().vertices (">(1,1,0)" )
193
+
194
+ assert len (s3 ._selection ) == 1
195
+ assert s3 ._selection [0 ].toTuple () == approx (
149
196
(1.6642135623730951 , 1.664213562373095 , 0.0 )
150
197
)
151
198
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)" )
199
+ s4 = Sketch ().push ([(0 , 0 ), (0 , 1 )]).parray (2 , 0 , 90 , 3 ).rect (0.5 , 0.5 )
200
+ s4 .reset ().faces (">(0,1,0)" )
154
201
155
- assert s8 ._selection [0 ].Center ().Length == approx (3 )
202
+ assert s4 ._selection [0 ].Center ().Length == approx (3 )
156
203
157
- s9 = Sketch ().push ([(0 , 1 )], tag = "loc" )
204
+ s5 = Sketch ().push ([(0 , 1 )], tag = "loc" )
158
205
159
- assert len (s9 ._tags ["loc" ]) == 1
206
+ assert len (s5 ._tags ["loc" ]) == 1
160
207
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)" )
208
+ s6 = Sketch ().push ([(- 4 , 1 ), (0 , 0 ), (4 , - 1 )]).parray (2 , 10 , 50 , 3 ).rect (1.0 , 0.5 )
209
+ s6 .reset ().vertices (">(-1,0,0)" )
163
210
164
- assert s10 ._selection [0 ].toTuple () == approx (
211
+ assert s6 ._selection [0 ].toTuple () == approx (
165
212
(- 3.46650635094611 , 2.424038105676658 , 0.0 )
166
213
)
167
214
168
- s10 .reset ().vertices (">(1,0,0)" )
215
+ s6 .reset ().vertices (">(1,0,0)" )
169
216
170
- assert s10 ._selection [0 ].toTuple () == approx (
217
+ assert s6 ._selection [0 ].toTuple () == approx (
171
218
(6.505431426947252 , - 0.8120814940857262 , 0.0 )
172
219
)
173
220
174
- s11 = Sketch ().parray (1 , 135 , 0 , 1 ).circle (0.1 )
175
- s11 .reset ().faces ()
221
+ s7 = Sketch ().parray (1 , 135 , 0 , 1 ).circle (0.1 )
222
+ s7 .reset ().faces ()
176
223
177
- assert len (s11 ._selection ) == 1
178
- assert s11 ._selection [0 ].Center ().toTuple () == approx (
224
+ assert len (s7 ._selection ) == 1
225
+ assert s7 ._selection [0 ].Center ().toTuple () == approx (
179
226
(- 0.7071067811865475 , 0.7071067811865476 , 0.0 )
180
227
)
181
228
182
- s12 = Sketch ().parray (4 , 20 , 360 , 6 ).rect (1.0 , 0.5 )
229
+ s8 = Sketch ().parray (4 , 20 , 360 , 6 ).rect (1.0 , 0.5 )
183
230
184
- assert len (s12 ._faces .Faces ()) == 6
231
+ assert len (s8 ._faces .Faces ()) == 6
185
232
186
- s12 .reset ().vertices (">(0,-1,0)" )
233
+ s8 .reset ().vertices (">(0,-1,0)" )
187
234
188
- assert s12 ._selection [0 ].toTuple () == approx (
235
+ assert s8 ._selection [0 ].toTuple () == approx (
189
236
(- 0.5352148612481344 , - 4.475046932971669 , 0.0 )
190
237
)
191
238
192
- s13 = (
239
+ s9 = (
193
240
Sketch ()
194
241
.push ([(- 4 , 1 )])
195
242
.circle (0.1 )
@@ -199,11 +246,11 @@ def test_distribute():
199
246
.rect (1.0 , 0.5 , 40 , "a" , "rects" )
200
247
)
201
248
202
- assert len (s13 ._faces .Faces ()) == 4
249
+ assert len (s9 ._faces .Faces ()) == 4
203
250
204
- s13 .reset ().vertices (">(-1,0,0)" , tag = "rects" )
251
+ s9 .reset ().vertices (">(-1,0,0)" , tag = "rects" )
205
252
206
- assert s13 ._selection [0 ].toTuple () == approx (
253
+ assert s9 ._selection [0 ].toTuple () == approx (
207
254
(- 3.3330260270865173 , 3.1810426396582487 , 0.0 )
208
255
)
209
256
0 commit comments