3 from __future__ import print_function
6 signal.signal(signal.SIGINT, signal.SIG_DFL)
31 def round_wire(p, vec_surfacenormal, vec_acrosswire, sigma):
33 wire/nomsize * (vec_surfacenormal * sin(sigma) +
34 vec_acrosswire * cos(sigma)))
35 #print(' round_wire',p,vec_surfacenormal, vec_acrosswire, sigma, r,
39 def make_moebius(objname):
40 print('module %s(){' % objname)
42 extents = [ ScadObject() for v in range(0,nv) ] # along extents
43 travers = [ ScadObject() for w in range(0,nw) ] # along traverses
44 for v in range(0, nv):
45 for w in range(0, nw):
46 for s in range(0, ns):
47 print('VWS',v,w,s, file=sys.stderr)
48 sigmas = [ (s + sx)/ns * tau for sx in 0,1 ]
50 extents[w].quad([ round_wire(p, norm, trav, sigmas[sx])
52 for p, norm, extt, trav in (m.details(v+a, w),)
55 travers[v].quad([ round_wire(p, norm, extt, sigmas[sx])
57 for p, norm, extt, trav in (m.details(v, w+b),)
59 for v in range(0, nv):
60 print('// extent v=', v)
61 extents[v].writeout_core(nomsize)
62 for w in range(0, nw):
63 print('// travers w=', w)
64 travers[w].writeout_core(nomsize)
67 make_moebius('MoebiusMesh')
68 print('moebiuscore_nomsize=%s;' % repr(nomsize))