polyhedron/polygon mesh-plane cut in CGAL

本文介绍了如何利用CGAL库中的Polygon Mesh Processing模块和polyhedron_cut_plane_3函数,对三维多面体和多边形网格进行切片操作。通过引用官方文档和讨论论坛资源,探讨了实现网格切割的具体步骤和技术细节。
1、PMP: polygon mesh processing- slicer:  http://doc.cgal.org/latest/Polygon_mesh_processing/index.html#PMPSlicer
2、\CGAL\CGAL-4.9\include\CGAL\polyhedron_cut_plane_3.h
3、http://cgal-discuss.949826.n4.nabble.com/Slicing-splitting-cutting-polyhedral-meshes-td4660731.html


dxinl@dxinl-NUC13VYKi5:~/Fast-Drone-250$ catkin_make Base path: /home/dxinl/Fast-Drone-250 Source space: /home/dxinl/Fast-Drone-250/src Build space: /home/dxinl/Fast-Drone-250/build Devel space: /home/dxinl/Fast-Drone-250/devel Install space: /home/dxinl/Fast-Drone-250/install #### #### Running command: "make cmake_check_build_system" in "/home/dxinl/Fast-Drone-250/build" #### #### #### Running command: "make -j16 -l16" in "/home/dxinl/Fast-Drone-250/build" #### [ 0%] Built target geometry_msgs_generate_messages_nodejs [ 0%] Built target geometry_msgs_generate_messages_py [ 0%] Built target geometry_msgs_generate_messages_lisp [ 0%] Built target geometry_msgs_generate_messages_eus [ 0%] Built target geometry_msgs_generate_messages_cpp [ 4%] Built target camera_models make[2]: *** 没有规则可制作目标“/usr/lib/x86_64-linux-gnu/libvtkCommonCore-7.1.so.7.1p.1”,由“/home/dxinl/Fast-Drone-250/devel/lib/map_generator/random_forest” 需求。 停止。 [ 7%] Built target libGeographiccc [ 9%] Built target Calibrations make[1]: *** [CMakeFiles/Makefile2:3007:uav_simulator/map_generator/CMakeFiles/random_forest.dir/all] 错误 2 make[1]: *** 正在等待未完成的任务.... [ 10%] Built target plan_env [ 11%] Built target obj_generator [ 11%] Built target pose_utils [ 11%] Built target _decomp_ros_msgs_generate_messages_check_deps_Ellipsoid [ 11%] Built target nav_msgs_generate_messages_eus [ 11%] Built target _decomp_ros_msgs_generate_messages_check_deps_PolyhedronArray [ 11%] Built target _decomp_ros_msgs_generate_messages_check_deps_Polyhedron [ 11%] Built target _decomp_ros_msgs_generate_messages_check_deps_EllipsoidArray [ 11%] Built target _quadrotor_msgs_generate_messages_check_deps_AuxCommand [ 11%] Built target _quadrotor_msgs_generate_messages_check_deps_TRPYCommand [ 11%] Built target _quadrotor_msgs_generate_messages_check_deps_StatusData [ 11%] Built target _quadrotor_msgs_generate_messages_check_deps_Odometry make: *** [Makefile:141:all] 错误 2 Invoking "make -j16 -l16" failed dxinl@dxinl-NUC13VYKi5:~
03-13
<think>好的,我现在需要解决用户提出的catkin_make编译错误,具体是缺少libvtkCommonCore-7.1.so.7.1p.1库文件的问题。根据用户提供的引用资料,特别是引用[3]提到vtk版本不对,重新安装6.3版本后解决了问题。这可能意味着用户当前的VTK版本与项目所需的版本不一致。 首先,我应该确认用户是否安装了正确版本的VTK。引用[3]中提到安装的是6.3版本,而错误信息里提到的是7.1版本。这可能意味着项目需要VTK 7.1,但系统中安装的是其他版本,或者用户之前安装的版本不正确导致冲突。 接下来,可能的解决方案包括:安装正确版本的VTK库,或者创建符号链接指向已安装的版本。但根据引用[3]的经验,用户可能需要安装特定版本的VTK,比如6.3,但用户当前的错误显示需要7.1版本,这可能存在矛盾。或者,可能用户的项目需要7.1版本,但系统中没有安装,或者安装过程中出现了问题。 另外,需要检查VTK的安装情况,比如通过apt搜索相关的软件包,或者从源码编译。用户可能需要安装libvtk7-dev或者类似的包。同时,如果已经安装了其他版本,可能需要先卸载冲突的版本,然后重新安装正确的版本。 还要考虑环境变量是否正确设置,比如LD_LIBRARY_PATH是否包含VTK库的路径。此外,检查CMakeLists.txt中的find_package(VTK)是否正确指定了版本,或者是否有必要手动指定VTK_DIR变量指向正确的安装路径。 如果用户之前安装了不同版本的VTK,比如通过源码安装,可能需要卸载并清理旧版本,然后重新安装所需的版本。此外,符号链接的方法可能临时解决问题,但最好确保安装的版本与项目需求一致。 总结可能的解决步骤:1)确认所需VTK版本;2)安装对应版本的VTK库;3)更新CMake配置;4)清理和重新编译项目。同时参考引用[3]中提到的处理方式,重新安装VTK并调整CMake中的相关设置。</think>### 解决方案:编译错误 "没有规则可制作目标 libvtkCommonCore-7.1.so.7.1p.1" #### 原因分析 该错误通常由以下原因导致: 1. **VTK库未正确安装**:系统中缺少特定版本的VTK动态链接库文件(如`libvtkCommonCore-7.1.so.7.1p.1`)[^3]。 2. **版本不匹配**:项目依赖的VTK版本与系统中安装的版本不一致,例如项目需要VTK 7.1,但系统安装了其他版本(如6.3或9.0)[^3]。 3. **符号链接缺失**:库文件存在但未正确链接到系统路径中。 --- #### 逐步解决 1. **确认VTK版本需求** - 检查项目文档或CMakeLists.txt中是否明确要求VTK 7.1。例如,查找类似`find_package(VTK 7.1 REQUIRED)`的语句。 2. **安装VTK 7.1** - 若系统未安装VTK 7.1,通过以下命令安装: ```bash sudo apt-get install libvtk7-dev # 适用于Ubuntu 18.04及以下 ``` - 若官方仓库无此版本,需从源码编译: ```bash wget https://www.vtk.org/files/release/7.1/VTK-7.1.1.tar.gz tar -xzf VTK-7.1.1.tar.gz cd VTK-7.1.1 && mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local make -j$(nproc) sudo make install ``` 3. **修复符号链接** - 若已安装VTK 7.1但库路径未正确链接: ```bash sudo ln -s /usr/lib/x86_64-linux-gnu/libvtkCommonCore-7.1.so.7.1p.1 /usr/local/lib/ ldconfig # 更新动态链接库缓存 ``` 4. **调整CMake配置** - 在`CMakeLists.txt`中指定VTK路径: ```cmake set(VTK_DIR "/usr/local/lib/cmake/vtk-7.1") find_package(VTK 7.1 REQUIRED) ``` - 清理并重新编译: ```bash rm -rf build devel # 清除旧编译文件 catkin_make clean catkin_make ``` 5. **处理版本冲突** - 若系统中存在多版本VTK(如6.3和7.1),卸载冲突版本: ```bash sudo apt-get purge libvtk6-dev # 卸载VTK 6.x sudo apt-get autoremove ``` --- #### 验证步骤 ```bash # 检查库文件是否存在 find /usr -name "libvtkCommonCore-7.1.so*" # 查看链接器是否识别库 ldconfig -p | grep libvtkCommonCore # 确认CMake找到正确版本 catkin_make VERBOSE=1 # 观察VTK相关输出 ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值