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

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

相关文章

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

SpringBoot整合Dubbo+ZK注册失败的坑及解决

《SpringBoot整合Dubbo+ZK注册失败的坑及解决》使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配... 目录1.先看下公共的pom(maven创建的pom工程)2.启动类上加@EnableDubbo3.实

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S