登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
登录
注册
代码拉取完成,页面将自动刷新
开源项目
>
程序开发
>
常用工具包
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
84
Star
318
Fork
246
InspireFunction
/
IFoxCAD
代码
Issues
27
Pull Requests
4
Wiki
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
72
完善错误信息提示,增加两点定距等分、点集转直线端点集合等方法和引用类型以及枚举
草稿
云傲崖-忘霄:v0.7
InspireFunction:v0.7
云傲崖-忘霄
创建于 2023-08-04 14:40
克隆/下载
HTTPS
SSH
复制
下载 Email Patch
下载 Diff 文件
### 相关的Issue ### 原因(目的、解决的问题等) ### 描述(做了什么,变更了什么) 完善错误信息提示,增加两点定距等分、点集转直线端点集合等方法和引用类型以及枚举 ### 测试用例(新增、改动、可能影响的功能) ``` [CommandMethod(nameof(DivNum))] public void DivNum() => CurveTools.Tools_NumberDivide(true); [CommandMethod(nameof(DivDis))] public void DivDis() => CurveTools.Tools_DistanceDivide(true); /// <summary> /// 指定两点定数等分(含绘制线段) /// </summary> /// <param name="isDrawLine">是否绘制线段</param> public static DivideInfo Tools_NumberDivide(bool isDrawLine = false) { try { using var dloc = Env.Document.LockDocument(); var sppr = Env.Editor.GetPoint("\n拾取【定数等分】起始点"); if (sppr.Status != PromptStatus.OK) return null; var spt = sppr.Value; var ppo = new PromptPointOptions("\n拾取【定数等分】结束点") { AllowNone = true, UseBasePoint = true, BasePoint = spt }; var eppr = Env.Editor.GetPoint(ppo); if (eppr.Status != PromptStatus.OK) return null; var ept = eppr.Value; var pio = new PromptIntegerOptions("\n指定【定数等分】的数量") { AllowNone = true }; var pir = Env.Editor.GetInteger(pio); if (pir.Status != PromptStatus.OK) return null; var num = pir.Value; var divResult = spt.GetNumberDivideTo(ept, num, true); if (isDrawLine) divResult.Points.DrawLines(true, isDifferentColor: true); return divResult; } catch (AcException acex) { acex.AcErrorInfo(); } catch (Exception) { throw; } return null; } /// <summary> /// 指定两点定距等分(含绘制线段) /// </summary> /// <param name="isDrawLine">是否绘制线段</param> public static DivideInfo Tools_DistanceDivide(bool isDrawLine = false) { try { using var dloc = Env.Document.LockDocument(); var sppr = Env.Editor.GetPoint("\n拾取【定距等分】起始点"); if (sppr.Status != PromptStatus.OK) return null; var spt = sppr.Value; var ppo = new PromptPointOptions("\n拾取【定距等分】结束点") { AllowNone = true, UseBasePoint = true, BasePoint = spt }; var eppr = Env.Editor.GetPoint(ppo); if (eppr.Status != PromptStatus.OK) return null; var ept = eppr.Value; var pdo = new PromptDoubleOptions("\n指定【定距等分】的距离") { AllowNone = true }; var pdr = Env.Editor.GetDouble(pdo); if (pdr.Status != PromptStatus.OK) return null; var dis = pdr.Value; var divResult = spt.GetDistanceDivideTo(ept, dis, true); if (isDrawLine) divResult.Points.DrawLines(true, isDifferentColor: true); return divResult; } catch (AcException acex) { acex.AcErrorInfo(); } catch (Exception) { throw; } return null; } /// <summary> /// 点集合绘制直线 /// </summary> /// <param name="points">点集合</param> /// <param name="isEndToEnd">是否是首尾相连,默认为:<see langword="false"/>首尾不相连</param> /// <param name="isClose">首尾相连时,是否闭合,默认为:<see langword="false"/>不闭合</param> /// <param name="colorIndex">直线颜色索引值,默认为:256随层</param> /// <param name="isDifferentColor">直线是否设置不同的颜色,默认为:<see langword="false"/>不设置</param> public static void DrawLines(this IEnumerable<Point3d> points, bool isEndToEnd = false, bool isClose = false, int colorIndex = 256, bool isDifferentColor = false) { var linePoints = points.GetLine2PointList(isEndToEnd, isClose); if (isDifferentColor) colorIndex = 1; linePoints.ForEach(l2p => { var line = new Line(l2p.StatrPoint, l2p.EndPoint) { ColorIndex = isDifferentColor ? colorIndex++ : colorIndex }; Env.Database.AddEntityToModelSpace(line); if (isDifferentColor && colorIndex > 255) colorIndex = 1; }); } /// <summary> /// 将图形对象添加到图形文件中 /// </summary> /// <param name="database">图形数据库</param> /// <param name="entity">图形对象</param> /// <returns>图形的ObjectId</returns> public static ObjectId AddEntityToModelSpace(this Database database, Entity entity) { // 开启事务处理 using var trans = database.TransactionManager.StartTransaction(); // 打开块表记录 var btr = trans.GetObject(database.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord; // 添加图形到块表记录 var entId = btr.AppendEntity(entity); // 更新数据信息 trans.AddNewlyCreatedDBObject(entity, true); // 提交事务 trans.Commit(); return entId; } ```
此 Pull Request 需要通过一些审核项
类型
指派人员
状态
审查
vicwjb
DYH
进行中
(0/1人)
测试
vicwjb
DYH
进行中
(0/1人)
怎样手动合并此 Pull Request
git checkout v0.7
git pull https://gitee.com/fangmin723/ifoxcad.git v0.7
git push origin v0.7
评论
4
提交
3
文件
5
检查
代码问题
0
批量操作
展开设置
折叠设置
审查
Code Owner
审查人员
vicwjb
vicwjb
liuqihong
JJbox
DYH
d1742647821
未设置
最少人数
1
测试
vicwjb
vicwjb
liuqihong
JJbox
DYH
d1742647821
未设置
最少人数
1
优先级
不指定
严重
主要
次要
不重要
标签
标签管理
未设置
关联 Issue
未关联
Pull Request 合并后将关闭上述关联 Issue
里程碑
未关联里程碑
参与者
(2)
C#
1
https://gitee.com/inspirefunction/ifoxcad.git
git@gitee.com:inspirefunction/ifoxcad.git
inspirefunction
ifoxcad
IFoxCAD
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册