Table Of Contents

This Page

lvidx140 (19)

  • parsurf.bb.min.z goes 5mm lower
  • flat dinner plate with hole in middle
  • g4poly misses some middle cylinders and the very bottom one
19         5                      LsoOflTnk0xc17d928 lvidx 140 nsp    315                       union intersection cylinder   nds[  2]  4606 6266 .

           5                      LsoOflTnk0xc17d928 lvidx 140 nsp    315

           amn (   -920.000  -920.000   -10.000)   parsurf.bb.min.z goes lower
           bmn (   -920.042  -920.000    -5.000)
           dmn (      0.042     0.000    -5.000)

           amx (    920.000   920.000   170.000)
           bmx (    920.000   920.031   170.057)
           dmx (      0.000    -0.031    -0.057)

Viz

op --dlv140
     g4poly is two disconnected plates with different sized holes

op --dlv140 --gltf 1
     raytrace joins the plates

tbool

078 # generated by tboolean.py : 20170706-1446
 79 # opticks-;opticks-tbool 140
 80 # opticks-;opticks-tbool-vi 140
 81
 82
 83 a = CSG("cylinder", param = [0.000,0.000,0.000,920.000],param1 = [-5.000,5.000,0.000,0.000])
 84 b = CSG("cylinder", param = [0.000,0.000,0.000,50.000],param1 = [-5.050,5.050,0.000,0.000],complement = True)
 85 ab = CSG("intersection", left=a, right=b)
 86
 87 c = CSG("cylinder", param = [0.000,0.000,0.000,112.500],param1 = [-2.500,2.500,0.000,0.000])
 88 d = CSG("cylinder", param = [0.000,0.000,0.000,50.000],param1 = [-2.525,2.525,0.000,0.000],complement = True)
 89 cd = CSG("intersection", left=c, right=d)
 90 cd.transform = [[1.000,0.000,0.000,0.000],[0.000,1.000,0.000,0.000],[0.000,0.000,1.000,0.000],[0.000,0.000,-7.500,1.000]]
 91
 92 abcd = CSG("union", left=ab, right=cd)
 93
 94 e = CSG("cylinder", param = [0.000,0.000,0.000,920.000],param1 = [-77.500,77.500,0.000,0.000])
 95 f = CSG("cylinder", param = [0.000,0.000,0.000,910.000],param1 = [-78.275,78.275,0.000,0.000],complement = True)
 96 ef = CSG("intersection", left=e, right=f)
 97 ef.transform = [[1.000,0.000,0.000,0.000],[0.000,1.000,0.000,0.000],[0.000,0.000,1.000,0.000],[0.000,0.000,82.500,1.000]]
 98
 99 g = CSG("cylinder", param = [0.000,0.000,0.000,920.000],param1 = [-5.000,5.000,0.000,0.000])
100 h = CSG("cylinder", param = [0.000,0.000,0.000,660.000],param1 = [-5.050,5.050,0.000,0.000],complement = True)
101 gh = CSG("intersection", left=g, right=h)
102 gh.transform = [[1.000,0.000,0.000,0.000],[0.000,1.000,0.000,0.000],[0.000,0.000,1.000,0.000],[0.000,0.000,165.000,1.000]]
103
104 efgh = CSG("union", left=ef, right=gh)
105
106 abcdefgh = CSG("union", left=abcd, right=efgh)