|
| 1 | +<!DOCTYPE html> |
| 2 | +<html lang="en"> |
| 3 | +<head> |
| 4 | +<meta charset="utf-8"> |
| 5 | +<meta name="viewport" content="width=device-width, initial-scale=1"> |
| 6 | +<title>Introduction to FreeCAD development | FreeCAD Development Blog</title> |
| 7 | +<link href="../../assets/css/all-nocdn.css" rel="stylesheet" type="text/css"> |
| 8 | +<meta name="theme-color" content="#5670d4"> |
| 9 | +<meta name="generator" content="Nikola (getnikola.com)"> |
| 10 | +<link rel="alternate" type="application/rss+xml" title="RSS" hreflang="en" href="../../rss.xml"> |
| 11 | +<link rel="canonical" href="https://freecad.github.io/posts/introduction-to-freecad-development/"> |
| 12 | +<link rel="icon" href="../../favicon-16.ico" sizes="16x16"> |
| 13 | +<link rel="icon" href="../../favicon-32.ico" sizes="32x32"> |
| 14 | +<link rel="icon" href="../../favicon-256.ico" sizes="256x256"> |
| 15 | +<!--[if lt IE 9]><script src="../../assets/js/html5.js"></script><![endif]--><meta name="author" content="FreeCAD Community"> |
| 16 | +<link rel="prev" href="../09-07-2018-Summary/" title="Summary of FreeCAD Development so far" type="text/html"> |
| 17 | +<meta property="og:site_name" content="FreeCAD Development Blog"> |
| 18 | +<meta property="og:title" content="Introduction to FreeCAD development"> |
| 19 | +<meta property="og:url" content="https://freecad.github.io/posts/introduction-to-freecad-development/"> |
| 20 | +<meta property="og:description" content="Have you ever wanted to contribute back to the project? Let us help you getting started! |
| 21 | +If you want to contribute, write a thread about what you want to do in the developers corner and we will do our"> |
| 22 | +<meta property="og:type" content="article"> |
| 23 | +<meta property="article:published_time" content="2018-11-10T21:11:10Z"> |
| 24 | +</head> |
| 25 | +<body> |
| 26 | +<a href="#content" class="sr-only sr-only-focusable">Skip to main content</a> |
| 27 | + |
| 28 | +<!-- Menubar --> |
| 29 | + |
| 30 | +<nav class="navbar navbar-inverse navbar-static-top"><div class="container"> |
| 31 | +<!-- This keeps the margins nice --> |
| 32 | + <div class="navbar-header"> |
| 33 | + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar" aria-controls="bs-navbar" aria-expanded="false"> |
| 34 | + <span class="sr-only">Toggle navigation</span> |
| 35 | + <span class="icon-bar"></span> |
| 36 | + <span class="icon-bar"></span> |
| 37 | + <span class="icon-bar"></span> |
| 38 | + </button> |
| 39 | + <a class="navbar-brand" href="https://freecad.github.io/"> |
| 40 | + |
| 41 | + <span id="blog-title">FreeCAD Development Blog</span> |
| 42 | + </a> |
| 43 | + </div> |
| 44 | +<!-- /.navbar-header --> |
| 45 | + <div class="collapse navbar-collapse" id="bs-navbar" aria-expanded="false"> |
| 46 | + <ul class="nav navbar-nav"> |
| 47 | +<li> |
| 48 | +<a href="../../archive.html">Archive</a> |
| 49 | + </li> |
| 50 | +<li> |
| 51 | +<a href="../../categories/">Tags</a> |
| 52 | + </li> |
| 53 | +<li> |
| 54 | +<a href="../../rss.xml">RSS feed</a> |
| 55 | + |
| 56 | + |
| 57 | + </li> |
| 58 | +</ul> |
| 59 | +<ul class="nav navbar-nav navbar-right"> |
| 60 | +<li> |
| 61 | + <a href="index.rst" id="sourcelink">Source</a> |
| 62 | + </li> |
| 63 | + |
| 64 | + |
| 65 | + </ul> |
| 66 | +</div> |
| 67 | +<!-- /.navbar-collapse --> |
| 68 | + </div> |
| 69 | +<!-- /.container --> |
| 70 | +</nav><!-- End of Menubar --><div class="container" id="content" role="main"> |
| 71 | + <div class="body-content"> |
| 72 | + <!--Body content--> |
| 73 | + <div class="row"> |
| 74 | + |
| 75 | + |
| 76 | +<article class="post-text h-entry hentry postpage" itemscope="itemscope" itemtype="http://schema.org/Article"><header><h1 class="p-name entry-title" itemprop="headline name"><a href="." class="u-url">Introduction to FreeCAD development</a></h1> |
| 77 | + |
| 78 | + <div class="metadata"> |
| 79 | + <p class="byline author vcard"><span class="byline-name fn" itemprop="author"> |
| 80 | + <a href="../../authors/freecad-community/">FreeCAD Community</a> |
| 81 | + </span></p> |
| 82 | + <p class="dateline"> |
| 83 | + <a href="." rel="bookmark"> |
| 84 | + <time class="published dt-published" datetime="2018-11-10T21:11:10Z" itemprop="datePublished" title="2018-11-10 21:11">2018-11-10 21:11</time></a> |
| 85 | + </p> |
| 86 | + |
| 87 | + <p class="sourceline"><a href="index.rst" class="sourcelink">Source</a></p> |
| 88 | + |
| 89 | + </div> |
| 90 | + |
| 91 | + |
| 92 | + </header><div class="e-content entry-content" itemprop="articleBody text"> |
| 93 | + <div> |
| 94 | +<p>Have you ever wanted to contribute back to the project? Let us help you getting started!</p> |
| 95 | +<p>If you want to contribute, write a thread about what you want to do in the developers corner and we will do our best to get you going. This post provides a brief overview of our workflow.</p> |
| 96 | +<div class="section" id="forum"> |
| 97 | +<h2>Forum</h2> |
| 98 | +<p>The FreeCAD forum: <a class="reference external" href="https://forum.freecadweb.org/">https://forum.freecadweb.org/</a> is the primary place for communication between FreeCAD users as well as developers. |
| 99 | +This should be the first place to search for answers if you have any questions.</p> |
| 100 | +<p><strong>Note:</strong> When you create a forum account, it might take a while before it's activated as the process is currently manual. This is done to limit spamming.</p> |
| 101 | +</div> |
| 102 | +<div class="section" id="issues-tickets"> |
| 103 | +<h2>Issues/Tickets</h2> |
| 104 | +<div class="line-block"> |
| 105 | +<div class="line">FreeCAD uses <a class="reference external" href="https://mantisbt.org/">MantisBT</a> as its tracker for bug reporting and feature requests.</div> |
| 106 | +<div class="line">The FreeCAD tracker address is <a class="reference external" href="https://freecadweb.org/tracker/">https://freecadweb.org/tracker/</a> |
| 107 | +</div> |
| 108 | +<div class="line"> |
| 109 | +<strong>Note:</strong> In order to create issues you will have to create an separate MantisBT account.</div> |
| 110 | +</div> |
| 111 | +<p>As we are getting a lot of reports please follow the rules before creating a new issue</p> |
| 112 | +<ol class="arabic simple"> |
| 113 | +<li>Make sure you're using the most updated stable or development versions of FreeCAD.</li> |
| 114 | +<li> |
| 115 | +<strong>PLEASE PLEASE PLEASE</strong> post to FreeCAD forum to verify the issue.</li> |
| 116 | +<li>Only after community vetting, open a ticket and link said thread to ticket and vice-a-versa.</li> |
| 117 | +<li>Post your <strong>Help>About FreeCAD>Copy to clipboard</strong> version info in to forum thread and ticket.</li> |
| 118 | +<li>Post a Step-By-Step explanation on how to recreate the issue.</li> |
| 119 | +<li>If possible, upload an example file to demonstrate problem.</li> |
| 120 | +<li>If there is a crash involved, please consider <a class="reference external" href="https://freecadweb.org/wiki/Debugging">Debugging</a> and attaching the traceback to the ticket.</li> |
| 121 | +</ol> |
| 122 | +</div> |
| 123 | +<div class="section" id="documentation"> |
| 124 | +<h2>Documentation</h2> |
| 125 | +<div class="line-block"> |
| 126 | +<div class="line">FreeCAD uses <a class="reference external" href="https://mediawiki.org">MediaWiki</a> for its documentation. To be able to modify the wiki, you must <a class="reference external" href="https://forum.freecadweb.org/viewtopic.php?f=21&t=6830">request access from the FreeCAD wiki admins</a>.</div> |
| 127 | +<div class="line"> |
| 128 | +<strong>Note:</strong> To get an Wiki account we require you to have a forum account with at least 1 post.</div> |
| 129 | +<div class="line">Before you start changing things in the wiki please read the <a class="reference external" href="https://www.freecadweb.org/wiki/WikiPages">WikiPages</a> guidelines,</div> |
| 130 | +<div class="line">There are several rules on how to write on the wiki to keep it organized, high quality, translated and up to date. It's our practice to discuss the additions/changes one wants to make in the <a class="reference external" href="https://forum.freecadweb.org/viewforum.php?f=21">FC wiki subforum</a> prior to posting.</div> |
| 131 | +</div> |
| 132 | +</div> |
| 133 | +<div class="section" id="code"> |
| 134 | +<h2>Code</h2> |
| 135 | +<p>The FreeCAD codebase is mostly C++ and Python, we are currently migrating to Python3, new contributions based on Python2.X are frowned upon. |
| 136 | +The git repo is hosted at <a class="reference external" href="https://github.com/FreeCAD/FreeCAD">https://github.com/FreeCAD/FreeCAD</a></p> |
| 137 | +</div> |
| 138 | +<div class="section" id="development"> |
| 139 | +<h2>Development</h2> |
| 140 | +<p>If you're interested developing for FreeCAD please look into</p> |
| 141 | +<ol class="arabic simple"> |
| 142 | +<li>Read the <a class="reference external" href="https://www.freecadweb.org/wiki/index.php?title=The_FreeCAD_source_code">Source code wiki page</a> and check the <a class="reference external" href="https://www.freecadweb.org/api/annotated.html">API reference</a> .</li> |
| 143 | +<li>Creating your own workbench (See <a class="reference external" href="https://www.freecadweb.org/wiki/Workbench_creation">Workbench Creation</a> , <a class="reference external" href="https://www.freecadweb.org/wiki/Module_Creation">Module Creation</a> , <a class="reference external" href="https://github.com/FreeCAD/Workbench-Starterkit">Workbench Starterkit</a> )</li> |
| 144 | +<li>Modifying an existing workbench (View source code of any external workbench at <a class="reference external" href="https://github.com/FreeCAD/FreeCAD-addons">FreeCAD-Addons Repo</a> )</li> |
| 145 | +<li>Creating your own macro (Read more about <a class="reference external" href="https://www.freecadweb.org/wiki/Macros">FreeCAD Macros</a> and the <a class="reference external" href="https://github.com/FreeCAD/FreeCAD-macros">FreeCAD Macros Repo</a> )</li> |
| 146 | +<li>Building FreeCAD and writing C++ code (See <a class="reference external" href="https://github.com/FreeCAD/FreeCAD#compiling">Compiling instructions</a> )</li> |
| 147 | +</ol> |
| 148 | +</div> |
| 149 | +</div> |
| 150 | + </div> |
| 151 | + <aside class="postpromonav"><nav><ul class="pager hidden-print"> |
| 152 | +<li class="previous"> |
| 153 | + <a href="../09-07-2018-Summary/" rel="prev" title="Summary of FreeCAD Development so far">Previous post</a> |
| 154 | + </li> |
| 155 | + </ul></nav></aside></article> |
| 156 | +</div> |
| 157 | + <!--End of body content--> |
| 158 | + |
| 159 | + <footer id="footer"> |
| 160 | + Contents © 2019 <a href=" mailto:[email protected]" >FreeCAD Community </a> - Powered by <a href=" https://getnikola.com" rel=" nofollow" >Nikola </a> |
| 161 | + |
| 162 | + </footer> |
| 163 | +</div> |
| 164 | +</div> |
| 165 | + |
| 166 | + |
| 167 | + <script src="../../assets/js/all-nocdn.js"></script><!-- fancy dates --><script> |
| 168 | + moment.locale("en"); |
| 169 | + fancydates(0, "YYYY-MM-DD HH:mm"); |
| 170 | + </script><!-- end fancy dates --><script> |
| 171 | + baguetteBox.run('div#content', { |
| 172 | + ignoreClass: 'islink', |
| 173 | + captions: function(element) { |
| 174 | + return element.getElementsByTagName('img')[0].alt; |
| 175 | + }}); |
| 176 | + </script> |
| 177 | +</body> |
| 178 | +</html> |
0 commit comments