用 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
相关推荐
用户019027581613 小时前
如何用 Python 统计 A 股连续涨停(几连板)?
python
外收内放3 小时前
Python基础语法练习题(拓展1)
python·游戏
H_unique3 小时前
Chat2Excel:接口自动化测试
python·测试工具·自动化
ss2733 小时前
AI全栈实战 | 3.3-02 Python 并发:有 GIL 为什么还用多线程,asyncio 和 JS 事件循环同源不同味
开发语言·javascript·python
空心木偶☜3 小时前
Langgraph操作时常见的错误
python·ai·ai编程·langgraph
cpolar技术支持4 小时前
外网测试机的异常传不回内网?自托管 Sentry,用 cpolar 打通错误上报链路
python·nginx·docker·cpolar·sentry
小小龙学IT4 小时前
Python SQLAlchemy 2.0 深度解析:从 Core 到 ORM 的数据访问双引擎
开发语言·数据库·python
2601_962885724 小时前
如何用 Python 计算 ROC 变动率指标做动量分析?
开发语言·python·算法
在世修行4 小时前
干货:文件上传端点解析
python·fastapi·接收上传
ZhangJun955 小时前
Mobike 共享单车分析项目
人工智能·python·算法·kmeans·聚类·knn