本文地址:https://gitee.com/dvaloveu/lovedva/issues/I6B5YC

视频演示(1.25倍速&原速):Acfun Bilibili

脚本地址:https://gitee.com/dvaloveu/ug-automation/blob/master/ug2caxa/hellowolrd.py

目录预留

操作方法简介

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]')
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

3DCAD图纸转2D(DXF)图纸通用解决方案文稿的更多相关文章

  1. 业务安全通用解决方案——WAF数据风控

    业务安全通用解决方案——WAF数据风控 作者:南浔@阿里云安全 “你们安全不要阻碍业务发展”.“这个安全策略降低用户体验,影响转化率”——这是甲方企业安全部门经常听到合作团队抱怨.但安全从业者加入公司 ...

  2. EAIntroView–高度可定制的iOS应用欢迎页通用解决方案

    简介 高度可定制的应用欢迎页通用解决方案,可高度定制,不要仅限于现有的demo. 项目主页: EAIntroView 最新示例: 点击下载 入门 安装 安装后,引入” EAIntroView.h”并设 ...

  3. 锐动视频SDK在金融业务加密双录管理系统通用解决方案

    为了更好地保障消费者的合法权益,银监会和保监会提出了要求,在银行.保险从业人员销售理财产品或代理其他机构销售产品时,同期进行录音录像,确保销售人员按程序.按规定介绍产品,以便购买者更清楚地了解产品的性 ...

  4. JAVA概率实现--一篇最常见、最通用解决方案

    日常场景:某活动抽奖,控制各等奖的出现概率 比如控制A(中奖率):20%:B(获得优惠券率):30%:C(谢谢参与率):50% 下面以封装好在main()函数里,上代码(记得导入相应的包): publ ...

  5. 使用ruby过程中遇到安装gem失败的一些通用解决方案

    ruby语言升级还是比较勤快的.但是数量众多的版本使得程序库的兼容性成了大问题.有些gem表示明确不支持某个特定版本以前的ruby,而有些gem则与较高的版本不兼容.再加上gem本身也有版本,简直是乱 ...

  6. iPhone X 适配手机端 H5 页面通用解决方案

    一:本文提供两种解决方案 1.终端解决方案(最优,建议选择) 2.web解决方案 导语: iPhone X的出现,一方面对于整个手机行业的发展极具创新领头羊的作用,另一方面也对现有业务的页面适配带来了 ...

  7. IEnumerable<IEnumerable<string>>结构解析通用解决方案(支持指定属性顺序)

    一.前言 类似如下字符串 "ID", "NameValue", "CodeValue", "ExchangeTypeValue&q ...

  8. Incorrect string value: '\xF0\x90\x8D\x83...' for column 通用解决方案

    mysql插入非ascii字符时报这个错的根本原因在于: 对应表的字符集无法存储要插入的字符,比如汉字插入latin1编码,某些特殊字符插入gbk或者utf8等. 检查一下实际插入的字符以及对应表或者 ...

  9. C++对带有分隔符的字符串 分割为数字的通用解决方案

    需求: 数据库取出的字段类似于 "1,3,4" 然后用数字处理后,,比如 "1,2,3" 再存回去 #include<stdio.h> #inclu ...

  10. JavaScript调用App原生代码(iOS、Android)通用解决方案

    实际场景 场景:现在有一个H5活动页面,上面有一个登陆按钮,要求点击登陆按钮以后,唤出App内部的登录界面,当登录成功以后将用户的手机号返回给H5页面,显示出来.这个场景应该算是比较完整的一次H5中的 ...

随机推荐

  1. C# - 将HTML网页、HTML字符串转换为PDF

    将HTML转换为PDF可实现格式保留.可靠打印.文档归档等多种用途,满足不同领域和情境下的需求.本文将通过以下两个示例,演示如何使用第三方库Spire.PDF for .NET和QT插件在C# 中将H ...

  2. 使用window.print进行前端打印,批量打印,设置分页,ie、火狐下设置页眉页脚

    window.print() print() 方法用于打印当前窗口的内容.谷歌调用 print() 方法会产生一个打印预览弹框,让用户可以设置打印请求. 但谷歌貌似不能自定义设置页眉页脚的文字:ie和 ...

  3. CSS背景设置与Emmet语法

    CSS背景设置 通过CSS背景属性,可以给页面元素添加背景样式,页面元素指任意标签. 背景属性可以设置背景颜色,背景图片,背景平铺,背景图片位置,背景图像固定等.   背景颜色 一般默认值是:tran ...

  4. 关于JAVA泛型数组类型擦除引发的问题及解决方案

    先看如下一个DEMO示例代码:(其中doBatchGet被子类重写了1次) public abstract class BaseDemoService<T> { public String ...

  5. 内存泄漏定位工具之 mtrace(二)

    1 前言 mtrace(memory trace),是 GNU Glibc 自带的内存问题检测工具,它可以用来协助定位内存泄露问题.它的实现源码在glibc源码的malloc目录下,其基本设计原理为设 ...

  6. electron 安装 base64

    1.安装这个:https://www.npmjs.com/package/js-base64 2.安装ts:https://www.npmjs.com/package/@types/js-base64

  7. 回顾复习之坐标DP

    定义 坐标型动态规划一般是给定网格.序列,求满足条件的MAX或MIN. 开数组时,dp[i]一般代表以ai结尾的满足条件的子序列,dp[i][j]代表以i.j结尾的满足条件的最优解 例题 数塔 典中典 ...

  8. NC16416 [NOIP2017]逛公园

    题目链接 题目 题目描述 策策同学特别喜欢逛公园. 公园可以看成一张 N 个点 M 条边构成的有向图,且没有自环和重边.其中 1 号点是公园的入口, N 号点是公园的出口,每条边有一个非负权值,代表策 ...

  9. Swoole从入门到入土(28)——协程[核心API]

    本节专门介绍swoole提供的协程机制中核心的API 类方法: 1) set():协程设置,设置协程相关选项. Swoole\Coroutine::set(array $options); 2) ge ...

  10. SpringCloud 注册中心Zookeeper实战

    介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提 ...