FAQ/zh-cn

From FreeCAD Documentation
Jump to: navigation, search
This page is a translated version of the page FAQ and the translation is 64% complete.

Outdated translations are marked like this.
Other languages:
čeština • ‎Deutsch • ‎English • ‎español • ‎suomi • ‎français • ‎italiano • ‎한국어 • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎svenska • ‎中文(中国大陆)‎

本页试图解答FreeCAD社区中最常见的问题。如果您在使用FreeCAD时发生了某些问题或对该程序有疑问,请先阅览此文。如果本页内容未能解决的问题,请移步 FreeCAD社区!

Contents

安装

在我的操作系统中安装FreeCAD的最简方法是什么?

如果您使用的是Windows或Mac OS操作系统,最简单的方法是前往下载页面,在那里,您将找到多种构建好的安装包。如果您使用的是Debian、Fedora或Ubuntu以及其他发布版操作系统,FreeCAD已位列标准软件仓库之中,您可以借助软件管理器方便地进行安装。在Ubuntu系统中,FreeCAD团队亦维护着它的 PPA仓库。关于安装FreeCAD的更多细节,可参考安装页面。

运行FreeCAD的最低条件是什么?

与大多3D CAD软件不同,FreeCAD可流畅地运行于大多机能有限的计算机上 - 例如,已知可以运行在装有Pentium IV与Intel Core2 Solo CPU的机器上。如果您的计算机可跑最新的操作系统,那运行FreeCAD基本也不在话下。这唯一的先决条件是:您的显卡或芯片组必须必须支持OpenGL,最好支持的版本不要低于v2.0。有关问题可参考本FAQ中的聚焦疑难杂症部分。

多线程

FreeCAD底层的几何建模内核(该第三方库名为Open CASCADE Technology, 或简作OCC)当前还不支持多线程 此时已部分支持多线程

针对Mac用户

FreeCAD仅支持MacIntel架构系统。目前还不存在针对PowerPC架构的构建版本。

我自己该如何编译FreeCAD?

FreeCAD的源代码总位于其工程源代码仓库。自己动手编译的FreeCAD可以令您体验到开发的最新功能,虽说编译的过程相当简单,但还是要用到一些计算机基础知识。访问源代码的具体步骤在这里,随后即可针对WindowsLinuxMac OSX平台进行编译。

FreeCAD提示我缺少某模块或某应用程序

FreeCAD依赖大量组件来实现其功能。所需的主要组件通常已与您安装的FreeCAD打包在一起,或者由包管理器来提供,因此在一般情况下不必为此而担心。如果您从非官方的软件源安装FreeCAD,或者使用自行编译的FreeCAD,那么可能就会造成部分组件的缺失,这对于FreeCAD程序本身而言并不算什么,但是却可能因此而缺少部分功能。另外,操作一些特定的文件格式(如Collada或DWG)也需要使用额外的组件,而它们并没有与FreeCAD打包在一起,这需要您自己单独去安装。

FreeCAD所有组件的正确安装方法都列在其他python模块页面中。

聚焦疑难杂症

FreeCAD根本无法启动

造成这种情况的原因有很多种,最有可能的一种是某些库的缺失。试着从终端方式开启FreeCAD(在终端提示符中输入freecad,在某些特定系统中要输入FreeCAD)来查看是否存在一些错误消息。另外,读取本FAQ的后续内容,也可能会找到解决这一问题的蛛丝马迹。如果仍无改观,请将问题上传至论坛,在那里会有人为您提供援助。

在一些老旧的Windows XP系统中,您可以会收到类似的错误消息:The application can't start, because the side-by-side configuration is wrong. The reinstallation of the application may solve the problem(因为相关配置错误,本应用程序无法启动。重新安装或许会解决此问题). 本问题的原因在于:此系统上的CRT运行库缺失,或版本过旧,而FreeCAD在链接时使用的是新版库。在这种情况下,您需要去微软官网下载并安装Microsoft Visual C++ Redistributable Package(Microsoft Visual C++可再发行组件包)。可参考论坛信息

FreeCAD可正常开启,但是部分图标无法显示,一些图标显示为黑色的'X'

FreeCAD中的部分功能依赖于一种名为Pivy的Python外部扩展模块。在Windows平台上, pivy位列FreeCAD的安装项中。在Debian/Ubuntu系统中,python-pivy包为标准软件仓库的组成部分。而在现时的其他操作系统中,您也许必须自行编译pivy。请注意,尽管一些工具脱离pivy就无法使用了,但是FreeCAD的其余部分却工作如旧。

我的FreeCAD存在一些显示问题,3D视图表现的不太正常,在我移动或旋转视图的时候会出现一些错误的内容

FreeCAD依赖OpenGL来显示3D内容,因此它需要工作于OpenGL环境中。在某些系统中,OpenGL并非默认开启的,这时,您可能需要安装或更新系统中的图形驱动。此问题时常发生在Linux系统或虚拟机系统中。如果您使用的是基于Linux的系统,请尝试以下步骤:

  • 确定手头的计算机中存在一块支持3D功能的图形板(卡)。
  • 在终端窗口中输入glxinfo,检查输出内容中的Direct Rendering(直接渲染)项为"yes",且OpenGL vendor/renderer/version(生产商、渲染器、版本)对应于机器中的显卡。
  • 安装其他基于OpenGL的软件(例如Blender),运行并检查显示内容是否正确。

FreeCAD开启即崩溃

崩溃意味着程序存在严重bug,或是用户配置上的问题。大多开启即崩溃是由于下列一至两条原因造成的:

未安装OpenGL驱动,或该驱动无法正常工作

此为导致上述问题非常常见的原因。具体现象为FreeCAD在开启时崩溃,或打开3D视图时崩溃(比如新建一个文档的时候)。试着查找您所用图形芯片的信息,再检查它是否支持OpenGL (现在的芯片基本都支持), 最后找到其对应的最新驱动并安装。一种复核OpenGL是否可用的方法是:试着运行另一种OpenGL应用程序,比如blender

And as a general tip to get some more information about crashes with FreeCAD you can start it with the program parameter --write-log. This will create the file FreeCAD.log in $HOME/.FreeCAD on Linux and Mac OS X or %APPDATA%/FreeCAD on Windows systems.

In some rare cases you may have a graphic driver installed that doesn't fit to your graphic card. We had a case where the user's laptop had an Intel on-board graphic but some ATI drivers were installed. [1] After removing the files and re-installing the correct driver FreeCAD started to work.

操作系统中似乎缺少FreeCAD需要的一些库, 抑或是FreeCAD没能找到这些库

There can be two paths to this problem: either some library is simply missing, therefore FreeCAD will refuse to start, or the library is there, but it is an older version than the one FreeCAD expects, so a crash will occur when FreeCAD attempts to use a missing feature from that library. A common example is when you have Qt3 and Qt4 installed on your system, FreeCAD might detect Qt4 but if your Qt installation is not properly configured, some pieces of Qt3 might still be used, provoking crashes.

Please review the installing procedure, make sure you installed all the required libraries (on most linux systems this is done automatically), and check what is the minimum version number for each of the components.

If everything seems correct, describe the problem on the forum or submit a bug. If you are on a linux system, it is easy to do a debug backtrace, which provides very useful information about the crash to the developers:

  • in a terminal, type: gdb freecad (assuming package gdb is installed)
  • inside gdb, type run
  • after the crash, type bt to get the backtrace, that you can include in your bug report.

FreeCAD开启即卡住

当开启FreeCAD时,GUI会立即显示出来,但GUI随即卡住且cpu占用率达约99%。此现象可能会在使用Oxygen主题的KDE桌面上发生。这是Oxygen主题的bug,选择另一种主题即可解决该问题。

在创建一个新文档或打开一个文件时,FreeCAD崩溃

If FreeCAD crashes when it creates a new 3D view, try launching FreeCAD from a terminal. If a message error appears when the crash occurs, mentioning Assertion Failed, and a component name beginning with "So" (SoBase, SoFieldContainer, etc.), the chances are very high, especially if you are on Linux, that FreeCAD is trying to use two different versions of the Coin library, which causes the crash. To verify if that is indeed the problem, try the following:

  • Locate the FreeCAD executable (usually in /usr/lib/FreeCAD/bin)
  • Run the command ldd FreeCAD from a terminal
  • Note down the version of the libCoin.so library that FreeCAD is using (for example libCoin.so.60)
  • Locate the libSoQt.so library (usually in /usr/lib)
  • run ldd libSoQt.so and check if it links to the same Coin version as FreeCAD

If there is any difference, either FreeCAD or SoQt must be recompiled (better to recompile the one that uses the oldest Coin version). The normal behavior is to try to contact the people responsible for packaging either SoQt or FreeCAD and kindly ask them to consider recompiling. If you want to undertake that step for yourself, and it is not possible to recompile SoQt because it breaks other applications on your system, you can force FreeCAD to compile with the required Coin version with ./configure --with-coin=DIR. But you have to make sure that the correct development package of this Coin version is installed.

点击Edit → Alignment后FreeCAD崩溃

A segmentation fault happens at vbo_save_playback_vertex_list(). This means that the implementation of VBO in the graphic driver is bad. In order to avoid caching OpenGL calls you can try to set the environment variable IV_SEPARATOR_MAX_CACHES=0 and restart FreeCAD.

我在Mac OSX上运行FreeCAD时出了问题

较之Windows与Linux,让Mac平台支持FreeCAD就不那么好搞了,这是因为核心开发人员手里没有这个平台。OSX的FreeCAD包其实是由志愿者编译而成的,因此有时可能在您的机器上无法正常的工作,这取决于您所用的系统。使用此平台的用户可以前往FreeCAD论坛,查阅与Mac OSX有关的帖子,并在那里讨论您所遇到的问题,或查看他人遇到并解决对应问题的方案。

我无法改变FreeCAD属性面板中各种数值

language options

You most likely have bad windows regional settings set-up. Please check if you have the same symbol for decimal separator and digit grouping symbol in your regional settings. If you do, adapt your system settings to use different characters for the digit grouping symbol and decimal separator. Note that it is not mandatory to have dot as decimal separator. It is mandatory to use different symbols in these two settings.


FreeCAD本身运行得好好的,但是突然就打不开了

This can also happen if you had an older version of FreeCAD installed, and you upgraded to a newer version. In that process, the configuration files of FreeCAD might have been corrupted for some reason, and now FreeCAD cannot read them anymore, and fails to start. The solution is simply to delete these configuration files, so FreeCAD will recreate them on first run.

  • On Windows: Open the file explorer, and write %APPDATA%/FreeCAD as the file path. Once there, delete the files user.cfg and system.cfg
  • On Linux: Navigate to /home/USERNAME/.FreeCAD and delete the files user.cfg and system.cfg
  • On Mac: Navigate to /Users/USERNAME/Library/Preferences/FreeCAD and delete the files user.cfg and system.cfg

FreeCAD should now start again normally with all its settings reset.


There is a Macro findConfigFiles available to help in locating your configuration files. It can be installed using the Addon Manager in the Tools menu. Tools → Addon Manager → Macros → findConfigFiles. The macro will find your config file folder, copy it to the clipboard, and (attempt to) open that location with your default file browser. It makes no changes to your files or settings.

使用FreeCAD

FreeCAD真的是免费(自由)的吗?哪怕用于商业用途?

FreeCAD是种开源软件, 不仅可以免费自由使用,还可将其用作商业用途,另外,亦可自由发布、修改,甚至将其用于闭源应用。总而言之,您可以自由地对它做您想做的(几乎)任何事。请参考Licence页面来了解更多细节。

如何才能旋转3D视图?


FreeCAD has several different navigation modes available, that can be set in the preferences settings dialog or changed by right-clicking in the 3D view. For full details about the modes, see the Mouse Model page. For the default mode ("CAD Navigation"), the commands are as follows,


Select Pan Zoom Rotate view
First method
Rotate view
Alternate method
Hand cursor.png Pan cursor.png Zoom cursor.png Rotate cursor.png Rotate cursor.png
Mouse LMB.svg Mouse MMB hold.svg Mouse MMB rotate.svg Mouse MMB+LMB hold.svg Mouse MMB+RMB hold.svg
Press the left mouse button over an object you want to select.

Holding down Ctrl allows the selection of multiple objects.

Hold the middle mouse button, then move the pointer. Use the mouse wheel to zoom in and out.

Clicking the middle mouse button re-centers the view on the location of the cursor.

Hold the middle mouse button, then press and hold the left mouse button, then move the pointer.

The cursor location when the middle mouse button is pressed determines the center of rotation. Rotation works like spinning a ball which rotates around its center. If the buttons are released before you stop the mouse motion, the view continues spinning, if this is enabled.

A double click with the middle mouse button sets a new center of rotation.

Hold the middle mouse button, then press and hold the right mouse button, then move the pointer.

With this method the middle mouse button may be released after the right mouse button is held pressed.

Users who use the mouse with their right hand may find this method easier than the first method.

Ctrl+Mouse RMB.svg Ctrl+Shift+Mouse RMB.svg Shift+Mouse RMB.svg
Pan mode: hold the Ctrl key, press the right mouse button once, then move the pointer. introduced in version 0.17 Zoom mode: hold the Ctrl and Shift keys, press the right mouse button once, then move the pointer. introduced in version 0.17 Rotate mode: hold the Shift key, press the right mouse button once, then move the pointer. introduced in version 0.17


我能用FreeCAD做什么呢? 应该从哪里开始?

Head to the Getting started page for a quick description of the tools you can use. There is also a new Tutorials section containing a few resources. The User hub section contains more detailed information about the different workbenches of FreeCAD. Note that since FreeCAD is relatively new, its user interface is still very bare and doesn't feature many tools. But much more advanced functionality is already available to you from python scripting.

有没有针对新手参考的文档呢? 有哪些途径可以学习FreeCAD?

到目前为止,仅有少数文档针对初学者……但是教程中有一些页面可用来助您入门。

我想在FreeCAD中导入或导出XYZ格式的文档。应当如何操作?

请参阅FreeCAD Howto Import Export页面。问题的答案可能在那里能找到。

处理零件的几何形状

如何来挤压填充零件实体? 我无法得到预期的效果

The theory is simple: Lines (or wires), when extruded, form faces. Faces, when extruded, form solids. If you extrude something and the result is not a solid, then the something was not a face. If you have lines and you want to extrude a solid from them, you must first select lines that form a closed perimeter (select several objects by pressing Ctrl), join them into a wire (Upgrade tool), then make a face from that wire (Upgrade tool again). There you are, if all went well you can now extrude it to a solid.

Now, there can be many little twists that make you obtain the wrong result. The best way to make sure is to check what's inside the object you are extruding. Objects contents can be easily explored with python. Assuming for example you have an object called "Wire", you could type this into the python console:

obj = FreeCAD.ActiveDocument.Wire
shp = obj.Shape
print shp.Faces
print shp.Wires
if shp.Wires:
    for w in shp.Wires:
        print w.isClosed()

The above code retrieves the shape from an object, shows the faces and wires your object has (if any), and, if there are wires, prints if those wires are closed. If you don't have any face, you won't get a solid. If there is no closed wire, it won't become a face. If you are interested, there is more info about what you can check with python on the part scripting page. If you cannot join several lines into a wire, the most probable cause is that their endpoints don't meet, there must be small gaps between (some of) them. There, I'm afraid, my experience tells me the quickest way would be to redraw a wire on top of them.

我执行的布尔操作失败了,要不就是得到一个莫名其妙的效果

The Open CASCADE geometric modeling kernel used in FreeCAD for Part geometry, although probably the best open-source geometry kernel available, has its flaws and limitations. Indeed the boolean operations (fusion, subtraction, intersection) are not its best features, and often give strange results. This is a current limitation we have no way to solve at once, so your best path is to try obtaining the desired result by modeling another way. For example, problems with primitives such as cylinder can often be solved by using an extruded circle instead. Coplanar surfaces between parts can cause trouble, as well as surface tangency. As a general rule, if a shape doesn't work, try remodeling it a different way. In 99% of the cases at the end you will manage to obtain the result you want.

When I export (or view) my model, the holes are filled in

Don't use Crtl + A (Select All) to export everything from the hierarchy tree. If the model is of one single item, try selecting only the newest item (usually the last one) in the hierarchy tree.

As we create a model in the PartDesign Workbench, each feature takes the shape of the last one and adds or removes something, creating linear dependencies from feature to feature as the model is created. Hence a "Cut" feature is not only the cut hole itself, but the whole part with the cut. This is why the user usually should only have the newest item (feature) in the model tree visible, because otherwise the phases of the model overlay each other, and holes are filled in by the earlier model features.

To toggle visibility of an object on or off, select it in the hierarchy tree and press spacebar on your keyboard. Usually everything but the last item in the hierarchy tree should be greyed out and therefore not visible in the 3D view.

为FreeCAD贡献自己的力量

FreeCAD是这么牛屄的程序!我怎么才能为她出一份力?

There are a lot of different ways to help, even if you are not a programmer. Here are a couple of things you can do:

  • Give some feedback to the FreeCAD developers: It is always useful to know what people think, what they found good, what they miss, etc. Drop a note on the forum giving your opinion or make a request on our issue tracker!
  • Help with writing documentation: The documentation we have here on this site is sometimes very limited. If you discovered something that is not well documented, add your knowledge there!
  • Help others newcomers: Hang around the forum, and help new people to solve basic questions, like how do I install, how do I add a cube, etc.
  • Translate the documentation into your own language
  • Translate FreeCAD into your own language
  • Write Tutorials, or record video tutorials: Tutorials are a very easy way for newcomers to learn a new software. If you did some nice stuff, why not show other people how to do it?
  • Contribute with assets and examples: We are still missing good example files in FreeCAD. If you created something good, share it with us!
  • Submit bugs: It is very important to have all possible bugs fixed. If you find one, report it as clearly as possible, so we can understand exactly what's happening.
  • Try to do some python coding: You never programmed before but you want to try? Python is easy. Read our introduction to Python, but beware, you might get addicted quickly!
  • See the Help FreeCAD page for more details on how to contribute.

我怎样才能获取编辑本wiki文档的权限?

请参考Work on the documentation页面的相关段落,那里有描述相关细节。

FreeCAD是否参与了Google Summer of Code?

是的,有参与。自2016年起, FreeCAD加入了Google Summer of Code。请参考Google Summer of Code来考察过去的有关信息,以及 Google Summer Of Code 2016来查看本论坛对此活动的原始公告。

我想着手把此wiki文档翻译为我的母语。我该怎么做?

本wiki文档包含了大量信息。最新及最有趣的材料都集于此手册页面。

请参考Translate the documentation页面的有关段落来了解翻译此wiki文档的更多细节。

许可证、版权与复用

我一定要为使用FreeCAD而付费吗?

不。FreeCAD完全免费,可供他人自由下载、重新发布或修改。它是一款开源软件,发布于两种自由软件许可证之下 (GPLLGPL),这保证了您关于此软件的种种自由权,更重要的是,这保证了您不必为之付出的自由权。

我可以复用FreeCAD中的图像资源与网站上的内容吗?

当然啦~FreeCAD中的素有图片资源(图标、标题内容等等)与FreeCAD代码都遵循LGPL。您可以参考Artwork页面来获取相关内容。本网站是一个标准的MediaWiki站点,所有图形元素都可自由地复用,如果您对我们这样的MediaWiki式软件感到好奇,可查看通用的css与js页面。

我可以把FreeCAD中的部分代码用于其他应用程序吗?

可以,但是使用时还要稍微考量一下,因为有些代码遵循LGPL,有些代码则遵循GPL。再者,FreeCAD所用的第三方库可能还有其他条件约束。更多相关细节请参考许可证页面。