碰到一个问题,不解决不爽

2024-02-04 00:32
文章标签 问题 碰到 解决 不爽

本文主要是介绍碰到一个问题,不解决不爽,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题的要素

  1. 随机生成一些长度、直径、位置、方向都不同的圆柱体;
  2. 数据文件需要是solid model格式,以便能导入到Fluent/ANSYS/Abaqus之类的软件中进行网格化和有限元或有限体积分析。

当前状态

已经解决。
这里写图片描述

这里写图片描述
解决了文件的生成和格式转换,但是要生成网格和进行分析,类似问题,从算法上的难度实际上仍然很大。可能需要巨大的内存和计算量。

两两不相交
这里写图片描述

进一步

把计算好的点放在TXT文件中用VBA读入,而后显示出来?

http://www.vbaexpress.com/forum/showthread.php?18957-Solved-VBA-and-AutoCAD-reading-points-from-a-txt-file

Public Sub DrawPointsFromTextFile() Dim fd As Long Dim sline As String Dim ar As Variant fd = FreeFile Open "C:\Temp\Coordinates.txt" For Input Access Read Shared As fd Do Until EOF(fd) Line Input #fd, sline ar = Split(sline, ",") ReDim pt(UBound(ar)) As Double Dim i As Integer For i = 0 To UBound(ar) pt(i) = CDbl(ar(i)) Next i ThisDrawing.ModelSpace.AddPoint pt Loop Close fd 
End Sub 

来自
http://www.vbaexpress.com/forum/showthread.php?2647-Solved-Text-file-to-drawing

Sub DrawFromTxt() Dim intFile As Integer Dim mPoints Dim HldPoints() As String Dim LinPlace() As String Dim MyString As String Dim OutArr As Variant Dim OutPt(0 To 2) As Double Dim OutPtA(0 To 2) As Double Dim Lend As Integer Dim LStart As Integerm Dim pointObj As AcadPoint Dim lineObj As AcadLine Dim I As Integer ReDim HldPoints(0) ReDim LinPlace(0) intFile = FreeFile Open "C:\Acad\file.txt" For Input As intFile While Not EOF(intFile) Line Input #intFile, MyString If InStr(1, MyString, " !Define key points ") > 0 Or _ InStr(1, MyString, "! Define Keypoints") > 0 Then Line Input #intFile, MyString While InStr(1, MyString, "Keypoints") = 0 If Left$(MyString, 1) = "K" Then ReDim Preserve HldPoints(UBound(HldPoints) + 1) HldPoints(UBound(HldPoints)) = Right(MyString, _ Len(MyString) - InStr(3, MyString, ",")) End If Line Input #intFile, MyString Wend End If If InStr(1, MyString, " !Define line ") > 0 Or InStr(1, _ MyString, "! Define Lines Linking") > 0 Then Line Input #intFile, MyString While InStr(1, MyString, "! element definition") = 0 And _ InStr(1, MyString, " !Element Definition") = 0 If Left$(MyString, 1) = "L" Then ReDim Preserve LinPlace(UBound(LinPlace) + 1) LinPlace(UBound(LinPlace)) = Right$(MyString, Len(MyString) - 2) End If If Not EOF(intFile) Then Line Input #intFile, MyString Else MyString = "! element definition" End If Wend End If Wend Close (intFile) 'i have the pointsFor I = 1 To UBound(HldPoints) OutArr = Split(HldPoints(I), ",") OutPt(0) = Val(OutArr(0)) OutPt(1) = Val(OutArr(1)) OutPt(2) = 0 Set pointObj = ThisDrawing.ModelSpace.AddPoint(OutPt) pointObj.Color = acCyan ThisDrawing.Regen acActiveViewport Next For I = 1 To UBound(LinPlace) OutArr = Split(LinPlace(I), ",") LStart = Val(OutArr(0)) Lend = Val(OutArr(1)) OutArr = Split(HldPoints(LStart), ",") OutPt(0) = Val(OutArr(0)) OutPt(1) = Val(OutArr(1)) OutPt(2) = 0 OutArr = Split(HldPoints(Lend), ",") OutPtA(0) = Val(OutArr(0)) OutPtA(1) = Val(OutArr(1)) OutPtA(2) = 0 Set lineObj = ThisDrawing.ModelSpace.AddLine(OutPt, OutPtA) lineObj.Color = acCyan ThisDrawing.Regen acActiveViewport Next 
End Sub 

这篇关于碰到一个问题,不解决不爽的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/675869

相关文章

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

解决Failed to get nested archive for entry BOOT-INF/lib/xxx.jar问题

《解决FailedtogetnestedarchiveforentryBOOT-INF/lib/xxx.jar问题》解决BOOT-INF/lib/xxx.jar替换异常需确保路径正确:解... 目录Failed to get nested archive for entry BOOT-INF/lib/xxx

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of