当前位置: 首页>>代码示例>>Python>>正文


Python Component.no_offset方法代码示例

本文整理汇总了Python中component.Component.no_offset方法的典型用法代码示例。如果您正苦于以下问题:Python Component.no_offset方法的具体用法?Python Component.no_offset怎么用?Python Component.no_offset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在component.Component的用法示例。


在下文中一共展示了Component.no_offset方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: determineFitOffset

# 需要导入模块: from component import Component [as 别名]
# 或者: from component.Component import no_offset [as 别名]
def determineFitOffset(components, full, shelled):
  '''
  This function will take a list of components and an object body,
  and will then determine how far components must be set back from the surface
  to prevent intersection with it.
  '''
  # figure out how far back we need to set each component to make it
  # not intersect the body of the object.
  for comp in components:
    if comp['type'] in Component.no_offset():
      continue
    loc = comp['coords']
    normal = comp['threed_normal']
    ct = 0
    print 'original:', loc
    while True:
      mod_comp = dict(comp)
      mod_comp['coords'] = [c_i - n_i for c_i, n_i in zip(loc, normal)]
      writeOpenSCAD(CHECK_INTERSECT_SCRIPT, [mod_comp], object_body=shelled)
      empty = createsEmptySTL(CHECK_INTERSECT_SCRIPT, SCRATCH)
      ct += 1
      if empty:
        break
      if ct > Component.max_offset(mod_comp['type']):
        raise Exception(''.join(["can't fit component",str(mod_comp),"into body"]))
      loc = mod_comp['coords']
    comp['coords'] = loc
    comp['offset'] = ct # note that this is in units of mm, for button caps
    print 'new:', loc
  return components
开发者ID:valkyriesavage,项目名称:makers-marks,代码行数:32,代码来源:openscad.py


注:本文中的component.Component.no_offset方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。