MCPcopy Index your code
hub / github.com/CadQuery/cadquery / axis_cost

Function axis_cost

cadquery/occ_impl/solver.py:362–397  ·  view source on GitHub ↗
(
    problem,
    m1: gp_Dir,
    m2: gp_Dir,
    T1_0,
    R1_0,
    T2_0,
    R2_0,
    T1,
    R1,
    T2,
    R2,
    val: Optional[float] = None,
    scale: float = 1,
)

Source from the content-addressed store, hash-verified

360
361
362def axis_cost(
363 problem,
364 m1: gp_Dir,
365 m2: gp_Dir,
366 T1_0,
367 R1_0,
368 T2_0,
369 R2_0,
370 T1,
371 R1,
372 T2,
373 R2,
374 val: Optional[float] = None,
375 scale: float = 1,
376) -> float:
377
378 val = pi if val is None else val
379
380 m1_dm = ca.DM((m1.X(), m1.Y(), m1.Z()))
381 m2_dm = ca.DM((m2.X(), m2.Y(), m2.Z()))
382
383 d1, d2 = (Rotate(m1_dm, R1_0 + R1), Rotate(m2_dm, R2_0 + R2))
384
385 if val == 0:
386 dummy = d1 - d2
387
388 return ca.sumsqr(dummy)
389
390 elif val == pi:
391 dummy = d1 + d2
392
393 return ca.sumsqr(dummy)
394
395 dummy = ca.dot(d1, d2) - ca.cos(val)
396
397 return dummy ** 2
398
399
400def point_in_plane_cost(

Callers

nothing calls this directly

Calls 2

RotateFunction · 0.85
dotMethod · 0.80

Tested by

no test coverage detected