用 DeepDraw 几何引擎开发建筑设计软件(六):创建画线工具

用 DeepDraw 几何引擎开发建筑设计软件(六):创建画线工具

系列文章

  1. SketchUp 替代
  2. 下载DeepDraw
  3. 用代码绘制线段
  4. 用代码绘制面
  5. 创建选择工具
  6. 创建画线工具(本文)
  7. 创建矩形工具
  8. 创建删除工具

介绍

铅笔工具,是用来在场景里任意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
相关推荐
Dev _9 分钟前
PyCharm旧进程仍在后台运行,导致新实例无法启动或连接
ide·python·pycharm
quantdash_cc1 小时前
如何检查滚动收益率计算中的窗口长度不足?——从数学定义到 Pandas 实现
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
砚底藏山河1 小时前
python量化:实时行情WebSocket断线重连状态机
java·python·websocket·金融
CodeGL2 小时前
16、Python Web开发
开发语言·前端·python
加点盐2 小时前
别再用 configparser 了:给本地配置加上加密、校验和版本迁移
python
小嘉丶学长2 小时前
Day08 · 字符串(二)
服务器·开发语言·python·学习·1024程序员节
BD_Marathon2 小时前
【Python】列表推导式
python
2501_948122632 小时前
Qs 跨端三方库仓颉适配全流程
python·react native·django·tornado
萌动的小火苗2 小时前
MQTT的QoS0、QoS1、QoS2有什么区别?
开发语言·网络·python·php·信息与通信
forest_092 小时前
《大模型原理通俗讲》系列 00|开篇 大模型到底是怎么回事
人工智能·python·prompt·agi