eryar

PipeCAD - Plant Piping Design Software.
RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
posts - 603, comments - 590, trackbacks - 0, articles - 0
共6页: 1 2 3 4 5 6 
re: AVEVA Model Data Exchange eryar 2015-01-23 21:20
@ecant86
Hi,

你好!

可能是你没有配置好。
re: 工厂方法Factory Methods eryar 2015-01-21 18:05
@douzi
Hi douzi,

你好!

作为抽象基类的纯虚函数即为实现方法。因为基类的纯虚函数,所有派生的子类中必须要重新实现,否则编译错误。这就是一种利用编译器的约束。

子类实现的纯虚函数的注册方法与现在的方式一样。

Best Regards,
Shing Liu
使用AutoCAD .NET开发了个合并DWG、DXF文件的小插件,使用方法及下载地址为:AutoCAD File Merger

http://www.cppblog.com/eryar/archive/2015/01/15/209538.html
@付振宇

生成的文件后缀名没有什么关系的,对于程序来说都是文本文件,自己写程序直接读数据都可以了。

有些程序可以用来显示Triangle生成的这些文件,加个后缀好分辨文件中保存的数据。
@付振宇
Hi 付振宇,

你好!

Triangle的用法请参考Figure 2.2 Triangle Usage 中红色线框中的部分。
各开关的用法请仔细看Figure 2.1 Options for the Triangle其说明。

Best Regards,
Shing Liu
re: Qt with OpenCascade eryar 2014-12-30 22:23
@zhx
你好啊 我也是在用OCC,之前用的是OCC6.5.0,现在想换位OCC6.8.0,可是安装完之后发现6.8.0版本的网页版的OCC文档不能查找函数,是为什么呢?
=================================================

我也试了下,occ6.8.0开发文档中的search功能的确不能用。
看了下,它是用php来调用javascript的,所以应该需要放到支持php的服务器上运行这个文档就可以搜索了。

我在occ官网上search是可以的,如下为在occ官网上search类gp_Pnt:
http://dev.opencascade.org/doc/refman/html/search.php?query=gp_Pnt
@zhx
Hi,

你好!

OpenCASCADE的mesh算法只是针对二维的点集(即参数空间中的点),主要是为了替换掉6.3版本以前用的Triangle库。

如果你是三维的点且可确定都在一个平面上,可以考虑将这些点投影到这个平面,Delaunay三角剖分后再映射回三维空间。
@xmzzy
你可能用的occ6.8.0,这个版本中去掉BRepMesh::Mesh()函数了,官方给的答复是这个函数只是调用了BRepMesh_IncrementalMesh来生成网格,没有存在的意义,所以予以去除。
详细可参考官方论坛:
http://www.opencascade.org/org/forum/thread_26649/?forum=3

6.8.0: BRepMesh::Mesh removed
去除原因及新的用法都有提及,原文如下:
Forum supervisor 2014/11/13 17:30
Dear Thorsen,

Method BRepMesh::Mesh did nothing more than called BRepMesh_IncrementalMesh with the given parameter, so it had no significant meaning and as result it was removed.
To perform meshing user should use BRepMesh_IncrementalMesh directly, for instance:

#include<BRepMesh_IncrementalMesh.hxx>
...
BRepMesh_IncrementalMesh(aShape, 0.001);
...

It is exactly the same what BRepMesh::Mesh did.

Best regards
FSR
@石小诗
程序还不完善,暂时未发布。
@佚名
SetOwner可以将一块内存设置到AIS_Shape中去,
所以你可以将ID或其他数据组织成一个结构体或类,需要时取出转换一下即可。
@佚名
哦。

那可以看看
SetOwner (const Handle< Standard_Transient > &ApplicativeEntity);
//Allows you to attribute the owner ApplicativeEntity to
//an Interactive Object. This can be a shape for a set of
//sub-shapes or a sub-shape for sub-shapes which it
//is composed of. The owner takes the form of a transient.

SetOwner把一个指针数据放到AIS_InteractiveObject中去了,所以你也可以将ID放进去。
re: OpenCASCADE 的安装与编译 eryar 2014-11-01 20:11
@欧帅
:o)
re: OpenCASCADE 的安装与编译 eryar 2014-11-01 19:49
@欧帅
OpenCASCADE6.7.1的Samples编译是有问题,我编译试过,需要修改opencascade6.7.1文件夹中的msvc.bat,修改如下内容:
rem Launch Visual Studio - either professional (devenv) or Express, as available
if exist "%DevEnvDir%\devenv.exe" (
rem start "" "%DevEnvDir%\devenv.exe" "%PRJFILE%"
start "%DevEnvDir%\devenv.exe" "%PRJFILE%"

与早期版本相比是多了个引号,将引号去掉即可。

re: OpenCASCADE 的安装与编译 eryar 2014-10-31 12:43
@张三
就是OpenCASCADE编译时设置的第三方库所在的include/lib/bin相应的目录中。
如果用的批处理,编译好的lib/dll输出到批处理里面对应的目录。
re: OpenCASCADE 的安装与编译 eryar 2014-10-29 20:59
@谢谢

路径不多,我6.7.1的Samples都可以正常编译。

是不是你的6.7.1的路径中包含了空格?
re: OpenCASCADE 的安装与编译 eryar 2014-10-29 20:32
@谢谢
将Samples编译成功后,编译方法如下:
3. Modifying and rebuilding samples:
--------------------------------------------

You can modify, compile and launch all sample projects in MS Visual C++ at once:

execute msvc.bat [vc8|vc9|vc10] [win32|win64] [Release|Debug]

To run all sample projects in MS Visual C++ at once:

execute msvc.bat vc8 win32 Debug

使用编译时的批处理启动Samples项目,并将你出错的Sample工程设置为当前Project,F5即可调试了。
@佚名
在绘图区感知到了一个shape,直接对其操作即可,为什么又要得到其ID?

如果一定要这个ID,可以通过SetOwner()将ID设置到AIS_InteractiveObject中去,这样在感知到shape时可以取出ID了。
@佚名
inline Standard_Boolean TopoDS_Shape::IsEqual (const TopoDS_Shape& other) const
{
return (myTShape == other.myTShape) &&
(myLocation == other.myLocation) &&
(myOrient == other.myOrient);
}
函数IsEqual()的作用是:
Returns True if two shapes are partners, i.e. if they share the same TShape. Locations and Orientations may differ.
根据上面的代码可知只是判断是不是共享了相同的TShape,如果朝向Orientation不同,返回值也是不同的。看你前面将wire1.Reverse(),可能朝向会不同。
==================================
TopoDS_Shape的HashCode产生函数代码如下:
Standard_Integer TopoDS_Shape::HashCode(const Standard_Integer Upper) const
{
//PKV
const Standard_Integer aI = (Standard_Integer) ptrdiff_t(myTShape.operator->());
const Standard_Integer aHS = ::HashCode(aI,Upper);
const Standard_Integer aHL = myLocation.HashCode(Upper);
return (aHS^aHL)%Upper;
}
应该取个大一点的Upper。

也可参考Singleton模式,使用一个static的std::map<std::string, TopoDS_Shape>自己来根据名字映射TopoDS_Shape,这就像Draw Test Harness中一样了。
re: OpenCASCADE 的安装与编译 eryar 2014-10-27 22:49
@谢谢
不客气。

运行Samples的方法,OpenCASCADE也在ReadMe.md文件中进行了说明:
2. Launching Open CASCADE Technology samples:
---------------------------------

To run the Open CASCADE Technology samples:

execute run.bat [vc8|vc9|vc10] [win32|win64] [Release|Debug] [SampleName]

To run the Animation sample:

execute run.bat vc8 win32 Debug Animation

因为OpenCASCADE的samples用到OpenCASCADE其他相关的dll,进而可能依赖一些第三方库,所以Samples程序只要能找到所有依赖的dll就可运行了,包括第三方库的dll。为了不影响机器的环境变量,用这种批处理的方式来运行例子也很方便的(这样就不需要将相关的dll复制到system32中去了)。
re: OpenCASCADE 的安装与编译 eryar 2014-10-27 18:18
@谢谢
你好!

有时间写一个samples 的编译说明。
其实在samples\mfc\standard文件夹中的readme.txt中有详细说明,仔细看看就知道了。
@佚名
您好!

不知道你用的哪个类的函数 issame()?

可以贴出相关代码看看
@哈哈

:-)
@Wang
Hi Wang,

你好!

感谢你的反馈,Sample也是我的测试工程,其中这个SITE的PIPE大部分都已经通过测试。我再试试看你的这个模型。

导出的STL面多,模型显示更细腻、精确,可以考虑加个精度设置。
re: Qt with OpenCascade eryar 2014-10-21 09:49
@soongv
Hi soongv,

You are welcome.

Thanks for your advice.

I will update the sample occQt according to your code.

Best Regards,
Xing
re: Qt with OpenCascade eryar 2014-10-20 14:27
@rio
这个例子适用在VS中用Qt的plugin来编译。
re: Qt with OpenCascade eryar 2014-10-17 18:05
@rio
如果你的Qt Creator也是用的VS的编译器,应该不会冲突。
re: Qt with OpenCascade eryar 2014-10-13 14:56
@lijin
是的,确保你用的是opencascade6.7版本。
使用Graphic3d::InitGraphicDriver这种方式是6.6以后用的
@BugWang
Hi Wang,

你好!

可以从最简单的Hello World!程序入门,从而体验一下occ的编码风格,再慢慢深入。

Hello World的示例程序如下:
http://www.cppblog.com/eryar/archive/2013/08/22/202708.html

re: Qt with OpenCascade eryar 2014-10-10 19:42
@lijin
是不是头文件的路径没有设置?
re: Qt with OpenCascade eryar 2014-10-07 17:02
@rio
你是编译的6.7.1的例子?
Sample Code for OpenCascade6.7.1: Qt with OpenCascade
re: Netgen mesh library : nglib eryar 2014-09-27 12:53
@爱学习爱C++
你好!

导入STL格式的文件还没试过,不过用netgen的GUI是可以导入的。
我也好长时间没有看这个了,要再看看。。。
@佚名

你好!

拟合曲面的算法还没有细看。

不过好像OCC有收费的模块,专门用来从点云数据生成几何数据,可以看看:
Surfaces from Scattered Points:
http://www.opencascade.org/support/products/ssp/
@佚名
不客气。。。
@佚名
过奖了。

我看OCC的例子程序中有个根据点生成面的功能,使用的类有:
1. Plate_Plate;
2. GeomPlate_Surface;
3. GeomPlate_MakeApprox;

相关实现可以参考示例程序。
过奖了。。。
@佚名
re: IsoAlgo Split Point Issues eryar 2014-08-28 18:07
@Spikef
AutoCAD Plant 3D 2013的自动分图效果是不大好,很简单的管道会分成好多张图,2015还没用过。

软件自动分图的关键就是寻找合适的分图点,Isogen/Isodraft中不光可以在部件连接的地方分图,还可以设置在管道上分图。

感谢分享。
@OpenCASCADE-3D
什么错误?
正在考虑将这个程序开源。。。

@曹吖
re: Pipe Isometric Drawing eryar 2014-08-19 18:10
Are you all in the same company?


@Gautam
re: Pipe Isometric Drawing eryar 2014-08-16 19:19
Hi ,
I have developed the program to generate Piping Isometric Drawing automatically: IsoAlgo.

IsoAlgo can generate piping isometrics drawings from PCF to DXF.

For more information about IsoAlgo, please visit: http://code.google.com/p/isoalgo/

You can download and have a try, any feedback is welcome.

@Girish Doshi
re: 工厂方法Factory Methods eryar 2014-08-15 14:23
不是我写的,
是对《API Design for C++》中Factory Methods章节的翻译。
@lcalqf
re: Read DXF File eryar 2014-08-14 10:36
过奖了,
我也是在学习中……

@张辉
re: IsoAlgo Split Point eryar 2014-08-10 19:53
用的google的
@dsmilely
re: IsoAlgo Split Point eryar 2014-08-04 22:20
@dsmilely
只有用工具啊,
re: std::ofstream failed eryar 2014-07-22 18:38
是的。
加上assert()会更好点
@云腾
Hi gayver,

The file of the pml code have sent to you.
Please check.

Enjoy!
:-)

@gayver
Hi gf,
The DXF Merger is not very perfect,
So do not release to the public.

But you can send me email: eryar@163.com for a Trial Version.

Regards,
eryar

@gf
这个可以参考netgen,
@D
re: 使用OpenGL中的GLUT eryar 2014-05-15 17:55
没有找到opengl32.lib, glu32.lib和glut32.lib。

@Jerry
共6页: 1 2 3 4 5 6