用 DeepDraw 几何引擎开发建筑设计软件(六):创建画线工具
系列文章
- SketchUp 替代
- 下载DeepDraw
- 用代码绘制线段
- 用代码绘制面
- 创建选择工具
- 创建画线工具(本文)
- 创建矩形工具
- 创建删除工具
介绍
铅笔工具,是用来在场景里任意2点画线的,当然也包括了吸附到顶点/中点/面/交差点的能力,这里要用到另一个类,CInputPointFinder,拾取工具是用来选择对象的,而这个类是用来选择吸附点的,并且这个类最终也调用了CPickHelper的功能
创建SelectTool
直接上源代码,这是最简单的一个工具类,目的是演示,如何使用CPickHelper
python
def do_input_inference(self, px, py):
self.input.Reset()
self.snap_axis = 8
#=======================
# Pick
if su_algo.USE_SNAP_MODE:
ok = self.input.Inference(px, py, None, None )
else:
if self.prev_point and self.first_point and not self.prev_point.IsEqul(self.first_point):
self.input.AddRefPoint(self.first_point)
ok = self.input.Inference(px, py, None, self.prev_point )
assert ok
new_point = self.input.Position()
return new_point