帮助FreeCAD

From FreeCAD Documentation
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This page is a translated version of the page Help FreeCAD and the translation is 42% complete.
Outdated translations are marked like this.

简介

如果你喜欢FreeCAD,也愿意为它的开发工作提供帮助,即使你不是一名程序员,除了捐献以外,你仍有很多事情可做。

Although FreeCAD doesn't need money to be developed, donations can help the project to grow further and faster. The Donate page lists all the options you have to donate money to the project.

文档工作

帮助我们构建、修正并扩充这份文档。例如修正错误,扩充并修正表达不清晰的页面,创建主题缺失的页面。为FreeCAD wiki的文档做贡献很简单,在WikiPages页面,你能找到起步所需的指导以及帮助。要编辑wiki,你需要一个具有编辑权限的wiki账号(为避免网络垃圾,wiki是写保护的)。你可以通过论坛或者IRC频道索要一个账号。注意IRC频道的响应应该没有论坛快。FreeCAD官网论坛是主要的提问和讨论地方,它将保存社区的经验与知识。

一些期待您工作的地方:

  • 范畴:命令参考页面列出了所有FreeCAD命令文档。它们大多数还只含有很少的信息,或者根本就是空白的。良好的命令文档页面如何编写您可以参考WikiPages
  • 教程部分需要一些例子以说明如何使用工作台。如果你用FreeCAD做出了挺酷的东西,为什么不为后人记录下来你的做法呢?
  • 在FreeCAD的Bug追踪中仍有一些具有"文档"标签的,期待您的关照。

分享你的FreeCAD知识

虽然FreeCAD的使用者社群还比较小,但是那里已经有好几位高级用户,他们向新人展示如何使用这个软件,这可是很重要的活儿。如果你开始感觉熟悉了FreeCAD,用着挺舒服,那么你的知识对别人就可能非常有价值。比如说,你可以在以下几个方面作出贡献:

  • 用户展示论坛秀出你的作品。你可以贴出截屏,最好能附上你的FreeCAD文件,这样别人就能检验它,来理解你是怎么做的。
  • 录制视频,演示你怎样使用FreeCAD,怎样做出了有趣的东西。这些视频通常在展示新功能方面功不可没。
  • 撰写教程,描述或教授你觉得有意思的东西。你可以在你自己的博客里写教程,然后把它指向我们的wiki,或者直接写在论坛里。
  • 在我们的FreeCAD Google PlusFacebook社区发帖。

翻译FreeCAD

把FreeCAD翻译为你自己的语言。FreeCAD界面上所有的文字都可以方便地翻译为其他语言。我们需要的只是懂那门语言、并原意提供帮助的那个人。所有的翻译工作都通过crowdin在线完成。

关于翻译的详情,请参考本地化

翻译文档

翻译很简单,FreeCAD wiki提供了一个翻译插件允许你将基本的英文页面翻译为其他语言。

关于翻译的详情,请参考本地化 翻译维基

请确认你熟悉基本的wiki标记语法;参考帮助:编辑

WikiPages熟悉本wiki的样式风格,特别是一些模板文件。

帮助别人了解FreeCAD

  • 和可能有兴趣的人谈论FreeCAD。
  • 为FreeCAD找到有趣的应用场景,并记录下来,比如用截屏的方式。FreeCAD还很年轻,还没有很多人知道能用它做什么。如果你已经是FreeCAD的粉丝,你肯定知道如何用FreeCAD做一些很酷的事情,那就帮我们秀给其他人吧!
  • 挂在论坛上,帮助新来的人,解答他们基础性的提问。
  • 撰写教程,录制视频,等等。演示出你用FreeCAD做什么。
  • 贡献源文件,图纸,等等。我们还缺好的示例文件,展示FreeCAD能用来做什么。
  • 帮助在Github上推荐FreeCAD,给FreeCAD 仓库'Starring'打星和'Watching'关注
  • Talk about FreeCAD to other people who might be interested
  • Find interesting uses for FreeCAD, and document it, for example with screenshots. FreeCAD is very young, and not many people see what they can do with it. If you are a FreeCAD fan already, you surely know some cool thing FreeCAD can do. Help us to show that to others!
  • Hang on the forum, and help newcomers to solve basic questions
  • Write tutorials, record videos, etc., showing what you do with FreeCAD
  • Contribute with files, drawings, etc. We still lack good example files of what can be done with FreeCAD
  • Help to promote FreeCAD on GitHub by "Starring" and "Watching" the FreeCAD repository

报告有错误和请求加功能

Simplified Chinese version of Bugreport-workflow.png
Simplified Chinese version of Bugreport-workflow.png

你要提交确认错误和建议新的功能,虽然最终要通过FreeCAD跟踪器完成,但是请你每次都先在论坛的帮助板块发帖出来。这里有一些经验之谈,一方面是为了节省开发者的时间(辨别先后和找到焦点,都建立在理解错误的基础上,这很费时间),另一方面也是为了避免造成你的沮丧(你的议案没有得到你所期望的处理),请阅读以下内容:

  • 报告出错和索要功能都通过同一个跟踪器处理。所以,请给你的议案打上标签,要么是"bug"(那些没有按照本该有的样子工作的东西),要么是"feature"(那些你想它有而却没有的东西)。
  • 虽然原来你可以匿名提交议案,但是很不幸,拜推广程序所赐,我们不得不封锁了匿名提交。现在,如果你想创建或编辑议案项目,你就得创建一个账号。这样你也将得到一些便利,比如有人向你的议案添加了记录时,你会收到通知。在很多情况下,那个将要处理你提交的出错议案的人,也会需要从你的这里取得更多信息。
  • 报告错误时,最重要的一点就是让开发者能够让这个错误重新出现。你要提供准确的步骤,让这个错误出现,这样另一个人照着做,就能在他的机器上看到这个错误。如果开发者连错误都看不到,那么他也无法解决这个问题。
  • 你发现了一个错误,无论你多么确定这一点,请每次都先在帮助论坛发帖,大家讨论一下这个错误。
  • 在提交新功能要求之前,务必先在开放论题板块跟大家讨论一下,这样你会打磨出更好的提案,它言之有物,才能有更大的可能性引起开发者的兴趣来实现它。
  • 别忘了FreeCAD是由志愿者们开发的,他们利用的都是业余时间。虽然每个人都尽他所能地作出最好的应用,但是咱们还是要把丑话说在前头。如果你提交错误报告时不能提交足够的信息,你的报告可能会被调低优先级或者干脆被取消。如果你提出的功能要求不能引起开发者的兴趣,或者它需要超乎想象的工作量,那么它可能会被延后处理,甚至被拒绝。

Although the place to report confirmed bugs and suggest new features is eventually the FreeCAD Tracker, please always post bug reports and feature requests to the Help forum first. In order to save developers time (triaging and handling hard to understand bugs can be very time consuming), and avoid frustrations because your issue was not handled the way you would like, please read the following:

  • Bugs and features requests are handled in the same tracker. Just mark your issue as "bug" (something that doesn't work as it should) or "feature" (something that is not there but you think it would be good to have)
  • Although originally you could submit issues anonymously, unfortunately this had to be cancelled due to spam. Now if you would like to create/edit tickets you will have to create an account. You will then by default be notified when someone adds notes to the issue. In many cases, the person who will handle the bug will need more information from you.
  • When reporting a bug, the most important point is to allow developers to reproduce it. Be sure to include the exact steps needed to make the bug happen, so another person can do the same and see the bug happen on his machine too. If the developer cannot see the bug, he cannot solve it either.
  • Also include information that can help developers to situate the problem, like the operating system you are running FreeCAD on, the exact version of FreeCAD and the relevant libraries. Please post all the data by using the "copy to clip board" button in the Help (menu) → about FreeCAD dialogue, and do this from the Part or PartDesign workbench.
  • No matter how sure you are that you have found a bug, please always discuss bugs first in the Help forum.
  • Before submitting a feature request, always discuss it with other users first on the Open discussion forum, so you might end up with a more solid proposal, with more chances to interest a developer to implement it.
  • Remember that FreeCAD is developed by volunteers who use their free time to work on it. Although everyone tries his best to make the best possible application, your bug report might be treated with low priority, or canceled if you cannot give sufficient information, and your feature request might be postponed or even refused if no developer has interest in implement it or if that would request an unrealistic amount of work.

Triage bugs

There are dozens of bugs reported on GitHub weekly. It takes a lot of time to read them, categorize them, verify if the issue is reproducible, see if some easy actions can be done, or ask the person who posted the issue to provide more information. Helping to triage is easy, just head over the GitHub and start commenting on any issue where you think you might be able to help!

设计艺术品

看看 艺术品页面,那里有给FreeCAD设计图标的指南。

See the Artwork and Artwork Guidelines page for guidelines about designing icons for FreeCAD.

编程!

给FreeCAD写代码并不难,并且你不需要任何批准。你可以马上开始,做一些你想做的工作,然后在跟踪器上提交一个补丁,或者在git分支上请求一次融合。不过,为了少一点头疼事,你还是应该先看看下面的前提条件:

  • FreeCAD有它自己的节奏,它只有很小的一个开发者队伍。我们想投入足够的时间,但是时间总是不够。我们也没有事先计划,总是哪位开发者看着合适又有时间,事情就这样办好了。所以,我们不做什么待办任务列表。你自己决定你喜欢做什么,比如说一个错误你想修正,或者一个缺失的功能你来实现。跟踪器里也有一些议题,还没有分派给任何人。
  • 在你开始为FreeCAD写代码之前,你必须熟悉FreeCAD怎样工作。这看起来是显然的。你如果你不知道它的预期行为,你心里其实也就不知道做什么和怎么做。
  • 几乎所有的事情都可以通过Python或C++实现。在两种语言中,内核的表现几乎一致。即使你打算用C++编程,我们还是建议你通读发烧友中心页面,因为它会给你关于内核的一个整体认知。
  • 如果你用C++编程,请先确保你能不带错误地编译。
  • 把你自己介绍给其他开发者。FreeCAD不是别的,它首先是一个社交项目。在实现任何东西以前,我们在论坛里已经有很多讨论了。所以我们给你一个好建议,每次在真正着手之前,先和大家讨论一下你的想法,告诉他们你计划做什么。我们也有一个异步通讯频道,然而论坛才是唯一那个你能遇到所有开发者的地方。
  • 从2016年开始,FreeCAD也参与 谷歌编程夏令营项目。如果你有兴趣参加下一季活动,请先看看我们的点子。

Writing code for FreeCAD is not hard, and you don't need any permission, you can start right now to work on something you want, then submit a patch on the issue tracker or request a merge from a git branch. To avoid headaches you should meet the following prerequisites first:

  • Information how to compile FreeCAD is available for different operating systems.
  • Before you start to code for FreeCAD, you must know how FreeCAD works. This seems obvious, but if you don't know how it is supposed to work you won't know what to do internally or how to do it.
  • Almost everything can be done either in Python or C++. The internals work almost the same in both languages. We suggest you read through the Power users hub pages, even if you're going to code in C++ since it will give you a good overview of the internals.
  • If you are going to work in C++, make sure you can compile FreeCAD without problems first.
  • Present yourself to other developers. FreeCAD is before anything a social project, we discuss a lot of things on the forum before implementing it, and it's always best to discuss your ideas and tell people what you are planning to do before actually doing it. We also have an IRC channel which is synchronized with our gitter channel, but the forum is the one and only place where you can meet all the developers.
  • Since 2016, FreeCAD also participates in the Google Summer of Code 2020. Be sure to check our ideas there if you are interested in participating in the next edition.
  • More and more of the FreeCAD functionality is not written in the FreeCAD code itself but in addons, macros and extensions. Together, this ecosystem is what makes FreeCAD powerful. Oftentimes, working on an addon is easier because there is less code to read and understand, and fewer people involved. check the Addons repository and Macros repository to get some ideas!

Create models

FreeCAD features a Models library that is free and open to everyone. Why not add some useful parts there, that could be reused by others? Be sure to create models yourself from scratch, to keep the library 100% free of possibly copyrighted or non-free components.