之前写了“关于python通过pyautocad操作cad的2021-06-10”,由于pyautocad根据图元生产面域的方法没找到,所以改用win32com.client了,找到了生成面域的方法及面域相交的方法,下面分享一下过程:

1最开始的需求是不规则图形与圆相交,求重合部分面积,圆的半径、不规则图形的基点与圆心距离、不规则图形根据指定点旋转角度为变量,

思路是:先有设计人员把不规则图形设计好,然后保存成块,使用的时候,通过路径,插入块到cad,圆也可以插入块,或者现画都可以。然后把块打散,变回图形,因为块是不能做交集操作的,求不了面积,所以还是要使用图元,然后将图元生成面域,然后交集,最后输出面积。

2需求有变动,由不规则图形,变为圆环,

思路:这样一来,就变成了规则图形--圆,完全可以现画,根据参数,画出对应的圆,

然后再根据圆生成面域,然后将两个圆差集,生成圆环面域,然后两个圆环面域交集,最后输出交集面域的面积

下面上代码:

1链接CAD:略(网上有的是)

2画圆:参数为圆心坐标和半径

circleObj=msp.AddCircle(ConvertArrays2Variant(inputdata=[70.0000,0.0000,0], vartype="Double"), 10)

3旋转:参数为旋转基点坐标和旋转角度

circleObj.Rotate(ConvertArrays2Variant(inputdata=[0.0000, 0.0000, 0], vartype="Double"), math.pi / 180 * 30)  # 旋转(基点,角度)

4生成面域:生成面域要将图元做成数组,然后转化成变体才能用

gList = [circleObj]
ObjectList = ConvertArrays2Variant(inputdata=gList, vartype="ArrayofObjects")
regionList = msp.AddRegion(ObjectList)  # 创建面域

5面域差集

regionObj.Boolean(2,regionObj2) 

6面域交集:差集和交集就是参数不同

regionObj.Boolean(1,regionObj2)

7输出面积

print(regionObj.Area)

8面域颜色赋值

R, G, B = 0, 0, 255
Version = doc.Application.Version  # 软件版本
AcCmColorID = "AutoCAD.AcCmColor.%s" % Version[:2]
color = doc.Application.GetInterfaceObject(AcCmColorID)
color.SetRGB(R, G, B)
regionObj.TrueColor = color

备注:ConvertArrays2Variant这个是变体方法

有需要源码的,可以到我的资源里下载,不要998,只要5分哦

https://download.csdn.net/download/m0_46490988/19710766

欢迎私聊QQ327666484

关于python操作cad的2021-06-18相关推荐

  1. pyautocad python 操作CAD文件

    python操作autocad,实现对dwg文件的操作 业务需求: 图纸的文件名存在引用,需要执行打开保存操作,自动保存图号为当前文件名 实现: 使用python+pyautocad 参考文章: ht ...

  2. python操作cad文件_Python使用pyautocad+openpyxl处理cad文件示例

    本文实例讲述了Python使用pyautocad+openpyxl处理cad文件.分享给大家供大家参考,具体如下: 示例1: from pyautocad import Autocad import ...

  3. python操作cad

    from pyautocad import Autocad# 自動連接上cad,只要cad是開着的,就創建了一個<pyautocad.api.Autocad> 對象.這個對象連接最近打開的 ...

  4. python循环实验心得_2019.06.18学习python循环总结

    常用循环: 1.for ... in 2.if ... else range(start, end, scan)函数: 参数含义: start:计数从start开始.默认是从0开始.例如range(5 ...

  5. python导出dxf图,使用Python操作CAD的dxf文件,批量绘制变形图的方法记录

    使用Python的ezdxf包,结合excel表中的坐标数据,绘制了变形图,表格,代码,结果如下: DK41+175 左上偏距 左上高程 拱顶偏距 拱顶高程 右上偏距 右上高程 422 上导第二层拱架 ...

  6. 使用Python操作CAD的dxf文件,批量绘制变形图的方法记录

    使用Python的ezdxf包,结合excel表中的坐标数据,绘制了变形图,表格,代码,结果如下:   DK41+175 左上偏距 左上高程 拱顶偏距 拱顶高程 右上偏距 右上高程 422 上导第二层 ...

  7. python操作CAD转存dwg文件

    #准备工作 import sys import win32com.client import math import time, os from datetime import datetime fr ...

  8. python提取cad坐标到excel_使用python来操作autocad,并且将坐标点转换成cad可见对象...

    由于工作需要,在项目中遇到一个棘手的问题,如何将(mssql)数据库中的BLOB文件转成cad可见图形 (可能每个项目需求不一样,解决方式不同) 第一步 . 需要转换的图形类型 第二步 . 那我们先查 ...

  9. python写cad命令_pyautocad 的一些简单操作指令

    最近一段时间在学习使用python控制autocad的一些简单指令 通过一些资料的查阅 整理了一些简单的命令及简单的绘图指令 基础设置 连接cad from pyautocad import Auto ...

最新文章

  1. hdu1285 拓扑排序+优先队列
  2. 数学建模——ARIMA时间序列预测模型Python代码
  3. 干货 | 深入仓储管理系统你需要了解的15件事
  4. R7-2 统计字符[2] (10 分)
  5. Linux环境编程:fork系统调用及其陷阱 - 内存复用,文件不复用
  6. 吴恩达深度学习之五《序列模型》学习笔记
  7. Intent常用使用汇总
  8. Android程序创意过滤与失败经验谈
  9. 很好用的绘图软件cad,非常喜欢这个简易方法
  10. 韩信点兵python编程_韩信点兵——编制计算机程序解决问题
  11. 如何获取Windows 10的锁屏壁纸
  12. Unity Shader-Ambient Occlusion环境光遮蔽(AO贴图,GPU AO贴图烘焙,SSAO,HBAO)
  13. 专业的人做专业的事 VxRail助中通业务创新驶上“快车道”
  14. python3 pycharm 抓取app 上的数据
  15. html修改li大小,css为li设置不同宽度
  16. 图像处理相关算法之饱和度调整
  17. 几张趣图带你了解程序员眼中的世界
  18. 刷脸支付人工智能和商业领域进一步融合
  19. JEDEC79-4翻译告一段落
  20. 2021年中国高校计算机大赛-团队程序设计天梯赛(GPLT)L2四道题

热门文章

  1. 发票查验API可以查验的发票类型有哪些?
  2. 2022年贵州二级建造师建设工程法规及相关知识模拟题及答案
  3. 如何使用winrar压缩工具实现:文件打包为自解压EXE类型
  4. 信用社考试计算机知识点,2017年农村信用社计算机考试模拟题
  5. 提高php代码质量 36计
  6. Ubuntu下Linux系统部署fisco时bash操作报错权限不足(permission denied) failed to run command ‘........‘
  7. 酷桌面:IPAD上体验office的炫“酷”移动办公应用
  8. 计算机硬件的组装硬盘,组装电脑如何选择硬盘?DIY装机四种电脑硬盘搭配方案提供参考...
  9. STM32CbueMX之USB挂载内存虚拟U盘
  10. MQTT客户端paho.mqtt.XXX