3DCAD图纸转2D(DXF)图纸通用解决方案文稿

news2025/3/1 9:33:44

3DCAD图纸转2D(DXF)图纸通用解决方案文稿

本文地址:https://gitee.com/dvaloveu/lovedva/issues/I6B5YC
视频演示(1.25倍速&原速):Acfun Bilibili
脚本地址:https://gitee.com/dvaloveu/ug-automation/blob/master/ug2caxa/hellowolrd.py

目录预留

  • 3DCAD图纸转2D(DXF)图纸通用解决方案文稿
    • 目录预留
    • 操作方法简介
    • DXF AutoDesk接口和公开协议
      • 接口文档说明(有中文):
      • 公开协议
      • DXF修改原理简介
    • DXF操作库(Python/C++)
      • ezdxf库(Python)
      • 用法简介
      • dxflib库(C++)
      • ObjectCRX库(Caxa/C++)
    • UG制图
      • 1.调整图纸中元素的颜色以区别不同元素
      • 2.导出DXF注意事项
    • SolidWorks和其他
    • 注意事项
    • 参考引用

操作方法简介

1.3DCAD软件转成DXF格式(R2007以上版本)
2.通过DXF公开接口操作数据进行修改调整(查找替换)

用Caxa等软件,按规则匹配筛选图元,替换成图层颜色等属性。

3.使用2DCAD软件进行最终版本和格式统一化

DXF AutoDesk接口和公开协议

接口文档说明(有中文):

https://help.autodesk.com/view/OARX/2018/CHS/?guid=GUID-F0004556-493C-48D5-8619-61D6ADF05C04


DXF文件以文本方式储存图形数据,格式为:组码代号(整数) 换行 内容值

公开协议

采用 CC-署名-非商业用途-相同方式共享(Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License),CC协议简单介绍点这里

DXF修改原理简介

DXF以文本储存图元数据,根据AutoDesk官方文档,修改对应的文本即可修改图形。
使用记事本等各种文本编辑器打开DXF即可。

  • 尺寸修改


    修改对应组码的值即可。

  • 获取图幅大小

DXF操作库(Python/C++)

ezdxf库(Python)

https://ezdxf.readthedocs.io/en/stable/dxfinternals/index.html
协议:

用法简介

import ezdxf #导入库
doc = ezdxf.readfile(fPath,"utf-8") #打开文件
psp = doc.layout("model") #读取页面
pSize3D=psp.dxf.limmax-psp.dxf.limmin # 获取图幅大小
dimensions = msp.query('DIMENSION[color==3 & lineweight==13]') #根据颜色和线型匹配尺寸对象(0.13)
e.set_dxf_attrib("layer","尺寸线层")  #设置尺寸对象图层为尺寸线层
...
doc.saveas('./output/'+fnout,"utf-8") #保存文件

dxflib库(C++)

https://www.ribbonsoft.com/en/90-dxflib
用法相同,运行效率更高,开发效率较慢,适合开发投入市场的产品。

ObjectCRX库(Caxa/C++)

相同,泛用性低,适用于针对性强(仅Caxa)的场合,对于特定场合更加方便使用。



UG制图

1.调整图纸中元素的颜色以区别不同元素

轮廓线,尺寸线,中心线,螺纹线,文字等不同的元素用不同的颜色(粗细)区分开,不用非要与最终格式相同,只要能区别元素即可。例如螺纹线设置成35号颜色,推荐用色号不同的颜色用作区分条件,色号可以在各种CAD软件的选色器中查看。配置好后可以导出配置文件备份或者是给其他电脑使用。




2.导出DXF注意事项

  • 导出格式为DXF,不要选非公开的DWG

  • DXF版本和比例缩放
    DXF版本选择R2007以上,支持utf-8等多语言的文字编码。
    比例缩放选择图纸比例的对应倍率,例如图纸比例为1:5,输出DXF时选择放大5倍。一般选择“基本视图比例”会自动根据图纸整体比例缩放,注意主视图设置跟图纸比例不同的情况需要手动修改输出DXF时的缩放比例。

  • 字体全部设置为宋体
    所有电脑都有宋体,作为文字匹配的条件。
  • 剖面线设置为 ANSI31

  • 配置好之后导出配置文件保存
    可以在其他电脑上导入,以使用相同配置。

SolidWorks和其他

相同,保持各图元以颜色区分即可。

注意事项

  • 超出DXF格式以外的各软件独有的内容会丢失或者失效,需要手动修改整理,比如特殊符号,螺栓圆中心线等。
  • 后续修改(少量)
    用筛选器删除尺寸标注,中心线以外的轮廓图形,再把修改之后的轮廓复制进原位,增删标注即可。
  • 后续大量修改
    由于UG本身的限制,截面图,放大图复杂或者较多的情况下,大量修改会导致截面丢失,进而2D图纸需要重新绘制,效率上不一定比直接修改CAD快。
  • UG制图容易失效需要重新制图
    UG模型大量修改之后容易导致放大图,截面图失效或者丢失,以及对应的尺寸丢失,需要重新制作。
    SolidWorks更加智能,修改不会导致截面丢失(只要截面还在),缺点是SolidWorks比UG卡。
    UG的Bug更多。
  • 需要严格按照3DCAD软件的规则建模
  • 尽量使用软件原格式进行制图
    DXF作为通用格式,更多作为数据互通平台作用,其他格式转成DXF会丢失额外数据(属于软件独有的数据,例如各种特殊符号,图框模板等),所以生产环境尽量使用原生格式进行工作,需要通过第三方软件操作的时候,再转成DXF格式,这个过程可能会导致部分数据丢失。

参考引用

处理.Dwg文件用哪种技术方案?ObjectARX,RealDWG还是Teigha? https://zhuanlan.zhihu.com/p/509542720

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/178230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第二章物理层-第五节:信道的极限容量

文章目录一:相关概念(1)失真(2)信道带宽W(3)波特率(Baud)二:奈奎斯特定理(奈氏准则)三:香农定理本节对应视频 【计算机网络…

sql注入绕过(持续更新)

判断存在注入 ab|| 查询表名 select{x table_name}from information_schema.tables where table_schemadatabase# () SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING(…

Coolify系列01- 从0到1超详细手把手教你上手Heroku 和 Netlify 的开源替代方案

什么是Coolify 一款超强大的开源自托管 Heroku / Netlify 替代方案coolLabs是开源、自托管和以隐私为中心的应用程序和服务的统称 为什么使用Coolify 只需单击几下即可托管你的应用、数据库或其他开源服务,等。它是 Heroku 和 Netlify 的一个替代方案。通过 Cool…

springbootWeb常用注解使用

springbootWeb常用注解使用PathVariable 路径变量注解RequestHeader 请求标头注解RequestParam 请求域注解RequestBody 请求体注解ModelAttribute使用1,将其置于方法上:使用2,将其置于方法参数上:CookieValuePathVariable 路径变量注解 可以…

3.4动态规划--最大字段和

要好好学习这个难受难受超级难受的动态规划了,千万不要再沉迷在看剧和玩耍里面了。必须承认最近没有好好学习。 写在前面 最大字段和书上介绍了三种解法:暴力、递归分治、动态规划 递归分治,一分为二,合并的时候有三种情况&…

java容器轻松理解 collection collections(异同篇)

(1)collectionset (只能迭代,不可以按下标取值)hashset、Treesetlist(可以迭代,也可以按下标取值)ArrayList、LinkedList、Vector特点:ArrayList:方便随机访问,由数组实现的。所以中…

十大经典排序算法(动态演示+代码)-选择排序与插入排序

选择排序 一、什么是选择排序? 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的中数据元素选出最小(或最大)的一个元素,存放在序列的起始位置&#xff0c…

行为型模式-策略模式

1.概述 先看下面的图片,我们去旅游选择出行模式有很多种,可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿,开发需要选择一款开发工具,当然可以进行代码开发的工具有很多,可以选择Idea进行开发&a…

04_iic子系统

总结 iic_client和iic_driver 加入iic总线的思想和paltform总线的玩法一样 把iic设备和驱动注册到iic总线中 构造出字符设备驱动和设备节点供app进行操作 但是iic硬件设备是挂在iic控制器下面的 所以iic控制器也会有自己的驱动和设备树节点 厂家一般都会帮做好 我们写的iic_dr…

离散系统的数字PID控制仿真-2

设计离散PID控制器,各信号的跟踪结果如图所示,其中S代表输入指令信号的类型。通过取余指令 mod实现三角波和锯齿波。当S1时为三角波,S2时为锯齿波,S3时为随机信号。在仿真过程中,如果 D1,则通过 pause命令实…

Prometheus学习整理-Prometheus-operator

Prometheus中的promQL语句: Prometheus提供的一种promQL语法,用来处理接口数据,然后方便用户对数据进行处理加工,它是Prometheus专门提供的一个函数表达式语言,可以实时的查询和聚合时间序列的数据,通过HTTPApi的方式提供给外部使用,PromQL主要分为下面的几种类型数据: 这里面的…

【老卫搞机】136期:华为开发者联盟社区2022年度战码先锋2期开源贡献之星

首先祝大家兔年大吉,身体安康,钱兔似锦!接上次的“2022年牛人之星”( https://developer.huawei.com/consumer/cn/forum/topic/0203109930647268095),今天咱们来开箱另外一件特殊的奖品,来自华为…

MySQL内外连接

文章目录MySQL内外连接内连接外连接左外连接右外连接简单案例MySQL内外连接 表的连接分为内连接和外连接。 内连接 内连接 内连接的SQL如下: SELECT ... FROM t1 INNER JOIN t2 ON 连接条件 [INNER JOIN t3 ON 连接条件] ... AND 其他条件;说明一下: …

零基础学JavaWeb开发(二十三)之 springmvc入门到精通(3)

5、springspringmvcmybatis整合 5.1、项目技术需求分析 1.使用ssmlayui技术开发 对用户表数据实现增删改查 采用前后端分离架构模式 5.2、SSM环境的整合之提供增删改查 整合数据库表结构 CREATE TABLE mayikt_users (id int NOT NULL AUTO_INCREMENT,name varchar(255) CH…

Mysql入门技能树-使用数据库

创建和删除数据库 Joe 在开发机上创建了一个名为 goods 的数据库,做了一些练习,现在他需要删除这个数据库,重建一个 goods。那么他需要的步骤是: 答案是:A 创建数据库的语法格式如下: CREATE DATABASE d…

client-go实战之九:手写一个kubernetes的controller

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 系列文章链接 client-go实战之一:准备工作client-go实战之二:RESTClientclient-go实战之三:Clientsetclient-go实战之四:…

Java IO流之字符集总结

ASCII字符集、GBK字符集、Unicode字符集 这里我直接上总结了,关于这三种字符集的基本介绍大家可以百度一下。 在计算机中,任意数据都是以二进制的形式来存储的计算机中最小的存储单元是一个字节ASCII字符集中,一个英文占一个字节简体中文版Wi…

CQF量化金融职业指南

✏️写作:个人博客,InfoQ,掘金,知乎,CSDN 📧公众号:进击的Matrix 🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。 概述 …

二分查找算法的实现以及解决整数溢出问题

前言 从今天起我会开启一个专栏:Java面试八股文,记录一下我在网上学到的Java面试常考的一些内容,注意:本人暂无面试经验,只是在网上找视频学习到的❗❗❗ 二分查找 我们首先要学习的是二分查找,我相信很多人跟我一样,在…

MySQL - text字段

一、text属性 MySQL下的TEXT属性一种特殊的字符串,存储单位为字节,有四种类型 TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT 不同的是可以存储的字符串的长度以及空间占用大小 TINYTEXT最大存放长度为255个字符的字符串 TEXT最大存放长度为65535个字符的…