Grains stack

This commit is contained in:
L-Nafaryus 2021-03-16 14:53:34 +05:00
parent 0291079eac
commit 1e07aee5df
2 changed files with 23 additions and 13 deletions

View File

@ -41,8 +41,8 @@ def boundaryCreate(gobj, dvec, grains):
geompy.MakeVertex(dvec[0], dvec[1], dvec[2])) geompy.MakeVertex(dvec[0], dvec[1], dvec[2]))
xvec = rotate(dvec, self.angle) xvec = rotate(dvec, self.angle)
yvec = rotate(xvec, [0, 0.5 * math.pi, 0]) yvec = rotate(xvec, [0.5 * math.pi, 0, 0])
zvec = rotate(xvec, [0, 0, 0.5 * math.pi]) zvec = rotate(xvec, [0, 0.5 * math.pi, 0])
logging.info("boundaryCreate: dvec = {}".format(dvec)) logging.info("boundaryCreate: dvec = {}".format(dvec))

View File

@ -8,7 +8,8 @@ import os, sys
import logging import logging
import time import time
from datetime import timedelta from datetime import timedelta
import .gutils, .mutils from .gutils import *
from .mutils import *
class simpleCubic: class simpleCubic:
def __init__(self, alpha, fillet, name = None): def __init__(self, alpha, fillet, name = None):
@ -78,21 +79,30 @@ class simpleCubic:
self.geometrybbox = box self.geometrybbox = box
# Grains # Grains
layer1 = geompy.MakeSpherePntR(geompy.MakeVertex(pos[0], pos[1], pos[2]), R) stackang = [
layer1 = geompy.MakeMultiTranslation2D(layer1, None, 2 * R0, 3, None, 2 * R0, 3) 0.5 * math.pi - stackAng[0],
layer1 = geompy.MakeTranslation(layer1, -2 * R0, 0, 0) 0.5 * math.pi - stackAng[1],
layer2 = geompy.MakeTranslation(layer1, 0, 0, 2 * R0) 0.5 * math.pi - stackAng[2]
layer3 = geompy.MakeTranslation(layer2, 0, 0, 2 * R0) ]
layer1 = geompy.ExtractShapes(layer1, geompy.ShapeType["SOLID"], True) xvec = geompy.MakeVector(
layer2 = geompy.ExtractShapes(layer2, geompy.ShapeType["SOLID"], True) geompy.MakeVertex(0, 0, 0),
layer3 = geompy.ExtractShapes(layer3, geompy.ShapeType["SOLID"], True) geompy.MakeVertex(1, 0, 0))
yvec = rotate(xvec, [0.5 * math.pi, 0, 0])
zvec = rotate(xvec, [0, 0.5 * math.pi, 0])
self.grains = layer1 + layer2 + layer3 hvec = rotate(xvec, [stackang[0], 0, 0])
vvec = rotate(zvec, [0, stackang[1], stackang[2]])
grain = geompy.MakeSpherePntR(geompy.MakeVertex(pos[0], pos[1], pos[2]), R)
hstack = geompy.MakeMultiTranslation1D(grain, hvec, 2 * R0, 3)
vstack = geompy.MakeMultiTranslation1D(hstack, vvec, 2 * Ro, 3)
stack = geompy.MakeTranslation(vstack, -2 * R0, 0, 0)
self.grains = geompy.ExtractShapes(stack, geompy.ShapeType["SOLID"], True)
self.grains = geompy.MakeFuseList(self.grains, False, False) self.grains = geompy.MakeFuseList(self.grains, False, False)
if not R_fillet == 0: if not R_fillet == 0:
self.grains = geompy.MakeFilletAll(self.grains, R_fillet) self.grains = geompy.MakeFilletAll(self.grains, R_fillet)