随笔分类 - 经验分享
摘要:Pimpl(Pointer to implementation)是一种C++编程技术,用于将类的实现细节与其接口分离。通常情况下,类的实现细节会暴露在类的头文件中,这会增加代码的复杂性并使得类的修改和维护变得困难。使用Pimpl技术,可以在类的头文件中只暴露必要的接口,而将具体实现细节放在单独的实现
阅读全文
摘要:ON_NOTIFY(HDN_DIVIDERDBLCLICK, 0, &CXXX::OnHdnDividerdblclickListData) void CXXX::OnHdnDividerdblclickListData(NMHDR *pNMHDR, LRESULT *pResult) { LPNM
阅读全文
摘要:最近发生了一件有意思的事,MFC工程中有一个CEdit控件,控件绑定了一个double变量,当double变量的值变化时通过UpdateData可以直接展示到控件上。然后,有一个CListCtrl,需要将CEdit的值做展示。重点来了,当CEdit的值较小时,一切都很正常,当CEdit值比较大时或者
阅读全文
摘要:最近在项目中碰到移动并旋转组件的问题,移动和旋转的输入条件是6个参数,分别是X、Y、Z轴的坐标和角度(6自由度)。例如,组件初始位置在绝对坐标系的(0,0,0)点,当输入[300,300,300,0,90,0],即将组件移动至(300,300,300)点并绕Y轴正向(所谓正向反向,遵守的是右手定则,
阅读全文
摘要:template <typename T>//先声明模板参数 T void RemoveSameElement1(vector<T>& v) { std::unordered_set<T> existed; for (auto iter = v.begin(); iter != v.end();)
阅读全文
摘要:UFUN在获取部件族信息时,不太方便通过行和列名获取某个属性的值,经过研究,发现必须通过UF_FAM_ask_attribute_data变相获取,经过测试,封装了两个函数UF_FAM_print_table和UF_FAM_edit_value,分别用来打印部件族信息和编辑属性值,代码如下: boo
阅读全文
摘要:在NX8.5中使用C#编辑表达式中有个坑,part.Expressions.Edit该方法鲁棒性很差,当表达式有错时也能编辑成功(手动在NX中增加错误表达式会有弹框,无法创建,而该方法却可以,疑是bug),建议使用表达式对象的RightHandSide属性进行设置。错误的表达式导致对象在保存或者设为
阅读全文
摘要:之前写了一篇Z.Expressions表达式计算的博客,直到最近才发现Z.Expressions不是免费的。Z.Expressions从2.0开始支持了NetCore,使用一段时期后会提示许可证到期,需要更新成最新的DLL,很不方便。最近在搜寻资料,发现了DynamicExpresso库,参考资料:
阅读全文
摘要:如果你本来就有.nupkg文件并且你只需要.dll文件的话,你可以通过打开.zip下的lib文件夹来获取。 例如:
阅读全文
摘要:Z.Expression.Eval是一个开源的(OpenSource),可扩展的(Extensible),超轻量级(Super lightweight)的公式化语言解析执行工具包。 使用方法:1、从nuget下载最新的nupkg文件。2、通过VS菜单工具->NuGet程序包管理器->管理解决方案的N
阅读全文
摘要:NX图纸上阶段标记通常有好几个阶段,但是对应的属性可能只有一个,因此根据不同的阶段值需要填在不同的单元格里,如下: 根据阶段标记的值,填在对应的单元格 解决方法是每一个单元格绑定一个表达式,以M为例,其他类似 p13引用的是部件属性“阶段标记” 注意一点,如果模板用的不是表格方式而是注释方式,表达式
阅读全文
摘要:Windows提供了非常好用的方法SHFileOperation,而且功能强大, 不光可以拷贝,还有移动、删除等等操作。直接上代码: 1 void CopyFolder(TCHAR* srcFolder, TCHAR* dstFolder) 2 { 3 SHFILEOPSTRUCT fop = {0
阅读全文
摘要:glog出自互联网豪门google,质量有保证,轻量级,入门简单,功能较全,线程安全。有关glog的打印细节本篇文章不再赘述,网上一大堆的资料,参考:glog日志库使用笔记。 glog的托管地址:github。 本篇文章提供在实际项目工程中glog的使用方法: 首先,当然要从托管地址下载最新源代码,
阅读全文