- 博客(282)
- 资源 (7)
- 收藏
- 关注
原创 Plant Simulation 基于Windows消息系统跨线程通讯方案
方案2:如果实在不想浪费开辟共享内存的开销使用也可以使用SendMessage方式 但是需要将消息Append到目标句柄 hmodule 的后方,PlantSimulation.dll 在解析完自己需要的参数后,会自动将指针后移到用户实际数据部分。推荐使用 安徽锐锋科技 提供的重构的参数接口。
2025-05-10 15:29:42
454
原创 TPS使用底层(C++)ODBC完成数据库的增删改查-1
在上面的连接字符串中,您需要将server_name替换为实际的服务器名称,database_name替换为实际的数据库名称,username替换为实际的用户名,password替换为实际的密码。要在SQLDriverConnect中自动链接而不弹出对话框,您需要提供连接字符串中的所有必需参数。请注意,上述示例代码中的henv是先前分配的环境句柄。您还需要根据您使用的数据库驱动程序进行适当的更改。“SQLCHAR *” 类型的实参与 “SQLWCHAR *” 类型的形参不兼容。
2023-07-27 12:53:02
371
1
原创 SQLite FTS5 扩展
FTS5 是一个 SQLite 虚拟表模块,为数据库应用程序提供全文搜索功能。在最基本的形式中, 全文搜索引擎允许用户有效地搜索大型 包含一个或多个 搜索词。谷歌提供给万维网用户的搜索功能是全文搜索。引擎,因为它允许用户搜索网络上包含的所有文档, 例如,术语“FTS5”。要使用 FTS5,用户需要创建一个包含一个或多个 FTS5 虚拟表 列。例如:将类型、约束或主键声明添加到 用于创建 FTS5 表的创建虚拟表语句。
2023-05-17 17:05:07
2850
原创 关于PlantSimulation 3D界面灰黑色解决方案
关于PlantSimulation 3D界面灰黑色解决方案不知道大家有没有遇到过PlantSimulation 3D模式下黑屏问题,现象如下图:发生这个问题主要是因为我们选择了不合适的OpenGL 版本导致的:设置方法如下:如下图 需要选择自己合适的OpenGL版本即可,我的笔记本是3060 但是选择超过4.1版本后就会出现不同层次的黑屏现象。虽然版本越高 功能和性能越高,但是匹配才是最重要的。各版本OpenGL说明:详细信息可查看下面链接:https://www.cnblogs.com
2021-10-23 14:31:19
2827
2
原创 PlantSimulation预定义异常处理及捕获
函数 setErrorHandler 将您作为数据类型对象参数输入的 Method 设置为全局错误处理方法。当 SimTalk 方法中出现运行时错误时,它会禁止打开调试器。这个全局错误处理方法只会在程序没有找到单独的异常处理方法时才会执行当您设置全局错误处理方法时,当 SimTalk 方法中发生运行时错误时,将调用此方法。传递给该方法的三个参数:•带有错误消息的字符串。您必须将字符串参数声明为按引用参数。• 带有错误方法路径的字符串。• 一个整数值,表明哪一行包含错误。函数setErrorHan
2021-09-27 15:37:40
1066
原创 PlantSimulation中4中移动对象的方法对比
insert 移动对象句法.insert([Target:any, Position:length, ConveyingDirection:integer]) → boolean方法 insert 将 指定的 MU 完全放置到参数 any 指定的目标对象上。• 对于面向点的对象,行为与move 和transfer 方法相同。• 对于面向长度的对象,MU 也会移动到指定的目标对象上,前提是它提供了足够的空间。如果指定的目标对象没有提供足够的空间,Plant Simulation 会尝试将 MU 的
2021-07-17 11:24:17
2521
3
原创 测试Plant Simulation 2404 基准日期的方式
使用变量 并且类型修改为日期 输入任何无效的值 等确认后 变量会自动纠错,纠错的值 就是基准日期。
2025-10-28 09:16:43
181
1
原创 win 11中使用 **任务计划程序** 开机自动启动带密码的 **VMware Workstation Pro 中的实例**
在Win11中通过任务计划程序实现VMware虚拟机开机自启动:使用"vmrun.exe"作为程序路径,添加参数"-vp 密码 start '虚拟机路径.vmx' nogui"来无界面启动虚拟机,设置起始目录为VMware安装路径。需在任务计划程序中配置常规启动条件和触发器,确保系统启动时自动执行该命令。该方法适用于需要后台静默运行的虚拟机场景,避免手动启动的繁琐操作。
2025-10-11 15:28:52
74
原创 ubuntu-25.04-desktop-amd64 工具VMware-tools 正确安装方法
摘要:Ubuntu 25.04虚拟机安装VMware Tools后无法实现主机与虚拟机间的文件复制粘贴和拖拽功能,问题可能源于工具兼容性。建议优先安装open-vm-tools套件(含open-vm-tools-desktop),而非官方VMware Tools。具体方案:通过终端执行安装命令后重启系统。该方法已实测有效解决该兼容性问题。(149字)
2025-09-25 11:11:22
396
原创 关于构建 构建 Plant Simulation 2504 +Omniverse Composer+UE 架构
本文探讨了构建Plant Simulation 2504+Omniverse Composer+UE架构的可行性方案,指出该组合在工业数字孪生领域具有实用价值。文章分析了三层架构数据流(Plant Simulation→Omniverse Nucleus→UE),比较了该方案的优劣势:优势在于保持仿真权威性、支持多工具协同和高保真渲染;劣势在于系统复杂度增加和性能要求高。同时提供了实践建议,包括先做小型原型验证、确认版本兼容性、选择合适同步模式等。此外,文章还讨论了Blender在该架构中的辅助作用,指出其
2025-09-24 16:31:16
180
原创 装箱问题(NP-hard)
3D装箱问题解决方案摘要 该文介绍了3D装箱问题的NP难特性及实用解决方法。首先强调明确实际约束的重要性(如旋转方向、重量限制等)。提供了多种策略:从简单的FFD/BFD算法到复杂的启发式+局部搜索方法。重点展示了一个基于Guillotine切割的Python实现,支持多箱类型、6方向旋转和体积降序贪心放置。最后建议根据问题规模选择优化方法,小规模可用精确算法,大规模则采用启发式+局部搜索。该实现可作为工程基线,易于扩展更多约束条件。
2025-09-22 15:04:56
105
原创 Plant Simulation 和 Omniverse Live Connect
Plant Simulation和Omniverse Live Connect教程摘要:该连接器可将Plant Simulation的几何图形和模拟数据传输到NVIDIA Omniverse,实现工业元宇宙可视化。使用前需获取许可证(TN70186C等)并安装Omniverse软件。通过实时连接功能,Plant Simulation中的模拟操作会即时同步到Omniverse。该功能支持Plant Simulation 2504版本,运行于Windows平台。教程视频详细展示了实时连接的设置步骤。
2025-09-22 12:54:50
550
原创 fbx 导入到 blender 出现很多黑色虚线的解决方法
解决Blender导入FBX文件出现黑色虚线问题 在Blender中导入FBX文件时,经常会出现大量黑色虚线(关系线)。解决方法很简单:在Blender界面中找到"显示关系线"选项并取消勾选即可。这一操作能立即消除这些干扰视觉的虚线,使模型显示更加清晰整洁。该问题通常是由于FBX文件包含的额外关系数据导致,关闭显示后不会影响模型本身的完整性。
2025-09-18 18:13:58
509
原创 设备综合效率(OEE)讲解与计算案例
OEE(设备综合效率)是衡量设备利用率的关键指标,由时间开动率、性能开动率和合格品率三部分构成。计算公式为三者相乘,反映设备在时间、速度和质量方面的损失。通过案例分析展示了OEE的计算方法,如单机生产效率计算(42.6%)、简化计算(72%)和生产线效率计算(50%)。OEE不仅是一个指标,更是一种管理工具,能帮助企业识别瓶颈,从减少停机、提升速度、改善质量三个方面优化生产效率。
2025-09-16 15:11:17
3199
原创 waituntil & stopuntil 详细对比
本文对比了Plant Simulation中waituntil和stopuntil两种挂起方法的区别。waituntil会在每次唤醒后重新评估条件,若条件被修改为false则后续不会触发;而stopupon一旦满足条件,无论后续条件如何修改都会被唤醒。通过代码示例演示了两者的不同输出结果:waituntil仅执行一次,而stopupon会执行所有挂起的方法。官方文档链接提供了更详细的说明。
2025-09-13 10:28:49
353
原创 addLengthOrientation
本文介绍了通过SimTalk 2.0脚本对3D动画对象进行方向控制的代码实现。代码首先定义目标对象为FinalAssemblySystem下的EMS_Track,然后执行移除长度方向操作,添加名为"Car"的新3D对象,并为该对象添加长度方向属性,最后将动画对象设置为"Car"。这些操作主要用于控制3D模型中物体的运动方向和动画效果。代码结构清晰,包含注释说明和修改历史记录,便于维护和扩展。
2025-09-08 12:29:45
66
原创 本文详细讲解QJson 的用法
本文是一份面向Qt 6.x/C++20的QJson使用指南,涵盖JSON文件的读取/写入、构造、查询、修改等核心操作,以及与QVariant的互转。文章详细介绍了QJsonDocument、QJsonObject、QJsonArray等主要类的使用方法,包括文本解析、序列化、安全访问、修改技巧等实战内容。同时提供了实用工具函数如"路径访问"方法,并指出了使用中的常见坑点和性能建议。所有示例代码可直接在VS2022+Qt 6.9.1环境中运行,适合开发者快速掌握Qt JSON处理的核心技术
2025-08-14 10:40:25
143
原创 关于Plant Simulation callLibrary调用效率实测
本文测试了Plant Simulation中callLibrary函数的调用效率。在i9-13900HX处理器上,通过1亿次循环调用一个简单的DLL函数(仅返回布尔值false)进行实测。测试结果显示,单次调用耗时约232纳秒(0.00023253毫秒),表明在单线程小指针调用场景下,callLibrary函数调用本身不会构成性能瓶颈。硬件环境为Windows 11工作站版,32GB内存配置。测试验证了该接口具有较高的执行效率,适合高频次调用场景。
2025-08-14 09:27:50
465
原创 Plant Simulation SQL常用语句
该资源汇总了两篇关于100条常用SQL语句的详细讲解文章。第一篇由wanshaobo888提供,第二篇来自m0_75126572,均发布于优快云平台。内容涵盖SQL基础查询、数据操作、表管理等核心语法,适合SQL初学者系统学习或开发者日常查询参考。两篇文章通过优快云平台分享,可查看完整SQL语句示例和应用场景解析。
2025-07-25 12:41:04
256
原创 截止Plant Simulation 2404最全(常用)的属性操作说明
本文汇总了Plant Simulation 2404中常用的属性操作方法,主要包括:1)获取属性状态的getAttribute和判断属性可继承性的attributeWatchable;2)属性名称与ID互转的getAttrName/getAttrNo;3)获取/设置属性类型和值的getAttrType/setAttrType及getAttrValue/setAttrValue;4)管理用户属性的createAttr/deleteAttr/hasAttribute等;5)属性继承控制的inheritAttri
2025-07-21 15:39:20
1108
原创 mergeTable多表联合查询
摘要 mergeTable方法用于将源表的数据合并到目标表中,基于行索引进行匹配操作。该方法要求两个表都必须具有行索引才能正常工作。当源表包含大量数据时,建议启用快速索引访问以提高查询效率。语法格式为<Path>.mergeTable(SourceTable:table),其中SourceTable参数指定要合并的源数据表。示例演示了该方法的使用效果,实现了两个表格数据的合并操作。
2025-07-21 15:05:33
432
原创 ## SQLITE:多表(子母表)联合查询【DA_Project笔记】
摘要:本文展示了SQLite中实现多表递归查询的SQL代码示例,用于构建BOM(物料清单)层级结构。通过WITH RECURSIVE子句从总成编号'240004024301'出发,逐级查询其所有子组件,并以level字段记录层级深度。最终结果与组件主数据表(GLb_BOM_Detail)关联,输出包含10个字段的完整BOM树形结构数据,包括物料号、描述、数量、单位等关键信息,并按层级和物料号排序。该查询适用于需要分析产品组成结构的场景。
2025-07-11 15:44:51
223
原创 Plant Simulation 2404 带条件检索满足条件的全部内容
本文介绍了Plant Simulation 2404中的copyFilteredTableTo方法,该方法用于将源表中满足条件的行复制到目标表。方法通过条件字符串筛选数据,支持列索引复制,语法为<Path>.copyFilteredTableTo(TargetTable,Condition)。示例展示了如何复制第二列值为3的所有行。该方法适用于数据表的有条件筛选和复制操作。
2025-07-11 08:38:59
254
原创 程序复杂度评估标准
本文介绍了算法复杂度评估的大O表示法(Big O Notation),解释了它如何描述算法随输入规模增长时的运行时间或空间增长趋势。通过数组查找的示例对比了O(1)和O(n)的区别,并列出常见复杂度等级对照表(如对数级、线性级、平方级等)。重点说明大O表示最坏情况上限,并以排序算法为例展示不同复杂度在实际应用中的性能差距。最后总结各复杂度等级的意义,强调高效算法(如O(1)、O(n log n))与低效算法(如O(n²)、O(2ⁿ))的差异。
2025-06-27 09:06:44
128
原创 四种 C++ 强制转换方式对比表
摘要:C++提供了四种类型安全的强制转换方式:static_cast(安全类型转换)、reinterpret_cast(内存地址解释)、const_cast(去除const修饰)和dynamic_cast(运行时多态转换)。这些方式比传统的C风格转换更安全且有明确语义。static_cast适用于数值和继承类转换,reinterpret_cast用于底层指针转换(需谨慎),const_cast处理常量性修改,dynamic_cast实现运行时类型检查。相比之下,C风格转换(T)expr存在安全隐患且可读性差
2025-06-24 11:23:28
87
原创 为什么说对于int, char, double, bool 等小型基础类型直接传值(复制传值)更高效
摘要: 对于int、char等小型基础类型,推荐直接传值而非const引用。功能上两者等价,均不修改原值;性能上传值更高效,省去间接寻址开销,且利于编译器优化。const引用适合大型对象(如std::vector)以避免拷贝,而模板或移动语义场景需特殊处理。实践建议:基础类型优先用值传递(如int),代码更简洁且性能更佳。
2025-06-24 10:04:43
183
原创 Plant Simulation 2404/Plant Simulation 2504配置Git
本文介绍了Plant Simulation配置Git版本控制的方法。首先需将文件另存为PSFM格式(3D项目推荐使用紧凑格式),然后安装Git和TortoiseGit工具。通过修改注册表(HKEY_LOCAL_MACHINE\Software\Siemens\Tecnomatix Plant Simulation<version>)新增字符串配置后,保存模型时会弹出提交界面。文章还说明了如何通过TortoiseGit右键菜单进行版本回退和分支操作。全文以图文结合的方式详细展示了配置流程和版本控制
2025-06-23 10:59:21
623
原创 ERR:The required column ‘Bomld‘ was not present in the results of a ‘FromSql‘ operation.
错误笔记
2025-06-18 14:53:46
315
原创 多对多的数据库处理办法
多对多数据库关系设计摘要(150字): 设计多对多关系应采用中间表方案,这是唯一正确的实现方式。中间表需包含外键指向两个关联表,建议使用复合主键(A_id,B_id)或添加自增主键+UNIQUE约束。若关系存在属性(如时间、权限等),应在中间表增设字段。优化要点:1)为外键建立索引 2)根据查询方向设计复合索引 3)大数据量考虑分表分区。ORM映射时需正确定义secondary关系。注意避免在实体表直接存储对方ID,保持命名规范(如user_roles)。所有多对多关系都应拆解为两个一对多关系,通过中间表实
2025-06-18 09:44:47
602
原创 WEB API新建API的常规方法
摘要:本文详细介绍了在VS2022中为已有ASP.NET Core Web API项目添加自定义API控制器的完整流程。首先演示创建ProductsController的步骤,包括定义Product模型类,然后完整展示了GET、POST、PUT、DELETE等HTTP方法的实现代码,并提供了自定义查询示例。最后介绍了使用Swagger和Postman测试API的方法,包括各请求类型的URL格式和请求体示例。内容涵盖从控制器创建到API测试的完整开发过程。
2025-06-18 09:22:38
1247
原创 QMultiMap&QHash&QList使用区别
摘要:本文对比了QList、QMap、QMultiMap和QHash在管理UI窗口时的使用差异。QList简单但查找性能差(O(n));QMap/QHash查找快(O(log n)/O(1))但不支持重复标题;QMultiMap支持重复标题且查找较快(O(log n))。建议:少量窗口用QList,标题唯一且需高性能用QHash,同名窗口管理用QMultiMap。选择取决于标题重复性和性能需求。(150字)
2025-06-11 18:17:30
320
原创 vs2022中detach qt widgets designer
在Visual Studio 2022中禁用Qt Widgets Designer的几种方法:1) 在Qt VS Tools选项中取消启用Designer集成;2) 将.ui文件的默认打开方式改为XML编辑器;3) 通过VS Installer卸载Qt Designer组件;4) 临时禁用Qt Visual Studio Tools扩展。这些方法可根据需要选择使用,禁用后仍可通过编辑XML文件修改界面。
2025-06-10 17:16:50
575
原创 人员管理2302版本
本文介绍了三种人员管理方案:全自动、半自动和全人工管理。全自动方案未提供具体代码,但预计通过自动化系统实现人员调度。半自动方案通过代码实现,使用broker对象获取服务提供者,并通过条件判断和broker的engage方法进行任务分配。全人工方案则通过代码手动管理人员,禁用自动调度功能,并手动指派人员到指定工作地点。三种方案分别适用于不同自动化需求的管理场景,全自动方案适合高度自动化环境,半自动方案结合了自动化和人工干预,而全人工方案则完全依赖手动操作。
2025-05-19 18:29:54
107
原创 自定义库模块增加自定义许可操作详细方法
本文介绍了在自定义库模块中增加自定义许可操作的详细方法,主要涉及两个关键函数:setRequiredLicense 和 checkForLicense。setRequiredLicense 用于设置库加载时的密钥检查,确保密钥正确、版本匹配且未过期,否则无法加载。该函数支持设置许可证功能名称、版本号、密码等参数,并可添加自定义提示信息。checkForLicense 用于检查密钥的有效性,支持初始化时调用,并返回不同错误代码以提示具体问题,如未注册的许可证、主机ID错误、许可证过期等。通过这两个函数,可以有
2025-05-17 11:42:13
1244
1
原创 PlantSimulation 隐藏 Frame节点(Structure)的操作方法
在PlantSimulation中隐藏Frame节点(Structure)的操作方法如下:首先,确保封装的Frame已开启LockStructure功能。其次,Frame必须放置在库中,并且该库需要设置密码进行加密(密码不能为空)。通过这些步骤,可以实现Frame节点的隐藏。此外,若需隐藏文件夹,只需在文件夹属性中激活“HiddenWhenInLockedFolder”选项即可。这些操作有助于在PlantSimulation中管理和保护模型结构。
2025-05-14 16:13:41
105
原创 使用定时器监视当前PID 如果当前程序关闭 UI_Core.exe 也随之自动关闭实现方法
C++20 QT6.9 VS2022 中使用QProcess::startDetached(“UI_Core.exe”, QStringList(), QString(), &UI_Manage_pid);是启动目标程序 能否同时告诉目标程序当前宿主程序的PID,在UI_CORE.EXE中 使用定时器监视当前PID 如果当前程序关闭 UI_Core.exe 也随之自动关闭 如何实现。这样,UI_Core.exe 就能在宿主进程意外退出或被正常关闭时,自己检测到并自动退出,保证不会在后台孤儿运行。
2025-05-10 17:00:30
527
原创 针对共享内存和上述windows消息机制 在C++ 和qt之间的案例 进行详细举例说明
在此示例中,写入端将 QImage 序列化并写入共享内存,读取端从共享内存中读取并反序列化为 QImage。在此示例中,发送端使用 PostMessage 向目标窗口发送自定义消息,接收端在窗口过程函数中处理该消息。以下是关于在 C++ 和 Qt 中使用共享内存(QSharedMemory)和 Windows 消息机制(SendMessage / PostMessage)进行跨线程或跨进程通信的详细示例。线程间通信:对于线程间通信,Qt 提供了信号与槽机制,通常比共享内存或消息机制更为安全和高效。
2025-05-08 18:31:32
354
PortHelper.exe
2023-05-10
SM-Bluetooth
2023-05-10
C++ DLL反汇编&C# Dll反汇编工具
2022-09-27
PlantSimulation中文帮助文档
2022-06-25
AUTOCAD 2004/AUTOCAD 2008 条形码CODE128生成
2017-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅