-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path2DPaths.html
More file actions
218 lines (198 loc) · 34.2 KB
/
Copy path2DPaths.html
File metadata and controls
218 lines (198 loc) · 34.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Using 2D Paths — Autograph 2026.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
<link rel="stylesheet" type="text/css" href="../_static/dark_mode_css/general.css?v=c0a7eb24" />
<link rel="stylesheet" type="text/css" href="../_static/dark_mode_css/dark.css?v=70edf1c7" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=b916904f"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/dark_mode_js/default_dark.js?v=fd565c74"></script>
<script src="../_static/dark_mode_js/theme_switcher.js?v=358d3910"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Interacting with the Timeline" href="timelinePanel.html" />
<link rel="prev" title="Creating custom Panels" href="customPanels.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
Autograph
</a>
<div class="version">
2026.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Developer Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="startupscripts.html">Start-up scripts</a></li>
<li class="toctree-l2"><a class="reference internal" href="architecture.html">Architecture Overview</a></li>
<li class="toctree-l2"><a class="reference internal" href="importItems.html">Manage a Project</a></li>
<li class="toctree-l2"><a class="reference internal" href="editComposition.html">Edit a Composition</a></li>
<li class="toctree-l2"><a class="reference internal" href="editParams.html">Edit Params</a></li>
<li class="toctree-l2"><a class="reference internal" href="rendering.html">Creating Renders</a></li>
<li class="toctree-l2"><a class="reference internal" href="customPanels.html">Creating custom Panels</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Using 2D Paths</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#accessing-the-geomgroup2d-param">Accessing the GeomGroup2D Param</a></li>
<li class="toctree-l3"><a class="reference internal" href="#creating-new-path2dparam">Creating new <code class="xref py py-class docutils literal notranslate"><span class="pre">Path2DParam</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#editing-control-points">Editing Control points</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="timelinePanel.html">Interacting with the Timeline</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference.html">API Reference</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">Autograph</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html">Developer Guide</a></li>
<li class="breadcrumb-item active">Using 2D Paths</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/Guide/2DPaths.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="using-2d-paths">
<h1>Using 2D Paths<a class="headerlink" href="#using-2d-paths" title="Link to this heading"></a></h1>
<p><a class="reference internal" href="../reference.html#Autograph.Path2DParam" title="Autograph.Path2DParam"><code class="xref py py-class docutils literal notranslate"><span class="pre">Path2DParam</span></code></a> represents a single Cubic Bezier curve in Autograph.
A <a class="reference internal" href="../reference.html#Autograph.GeomGroup2DParam" title="Autograph.GeomGroup2DParam"><code class="xref py py-class docutils literal notranslate"><span class="pre">GeomGroup2DParam</span></code></a> contains a list of <a class="reference internal" href="../reference.html#Autograph.Path2DParam" title="Autograph.Path2DParam"><code class="xref py py-class docutils literal notranslate"><span class="pre">Path2DParam</span></code></a>. For each path, a boolean operation can be specified with the <a class="reference internal" href="../reference.html#Autograph.Geom2DParam.booleanOperation" title="Autograph.Geom2DParam.booleanOperation"><code class="xref py py-attr docutils literal notranslate"><span class="pre">Geom2DParam.booleanOperation</span></code></a> parameter.</p>
<p>You can retrieve the final composite geometry (also applying any modifier on it) by calling <a class="reference internal" href="../reference.html#Autograph.Geom2DParam.getGeometry" title="Autograph.Geom2DParam.getGeometry"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Geom2DParam.getGeometry()</span></code></a>.</p>
<section id="accessing-the-geomgroup2d-param">
<h2>Accessing the GeomGroup2D Param<a class="headerlink" href="#accessing-the-geomgroup2d-param" title="Link to this heading"></a></h2>
<p>The <a class="reference internal" href="../reference.html#Autograph.GeomGroup2DParam" title="Autograph.GeomGroup2DParam"><code class="xref py py-class docutils literal notranslate"><span class="pre">GeomGroup2DParam</span></code></a> are usually found on a <strong>Shape</strong> generator of a 2D layer.</p>
<p>It can be accessed as any other Param:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">layer</span> <span class="o">=</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Layer2D</span><span class="p">()</span>
<span class="n">gen</span> <span class="o">=</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Effect</span><span class="p">(</span><span class="s1">'Autograph.ShapeLayerRenderEffect'</span><span class="p">)</span>
<span class="n">layer</span><span class="o">.</span><span class="n">source</span><span class="o">.</span><span class="n">setGeneratorEffect</span><span class="p">(</span><span class="n">gen</span><span class="p">)</span>
<span class="n">shapeGroup</span> <span class="o">=</span> <span class="n">gen</span><span class="o">.</span><span class="n">param</span><span class="p">(</span><span class="s1">'content'</span><span class="p">)</span>
<span class="n">childGroup</span> <span class="o">=</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">ShapeGroupParam</span><span class="p">()</span>
<span class="n">shapeGroup</span><span class="o">.</span><span class="n">addParam</span><span class="p">(</span><span class="n">childGroup</span><span class="p">)</span>
<span class="n">shapeGroup</span> <span class="o">=</span> <span class="n">childGroup</span>
<span class="n">shapeGroup</span><span class="o">.</span><span class="n">setDisplayName</span><span class="p">(</span><span class="s1">'Ellipse 1'</span><span class="p">)</span>
<span class="n">pathGroup</span> <span class="o">=</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">GeomGroup2DParam</span><span class="p">()</span>
<span class="n">pathGroup</span><span class="o">.</span><span class="n">setDisplayName</span><span class="p">(</span><span class="s1">'My Path Group'</span><span class="p">)</span>
<span class="n">shapeGroup</span><span class="o">.</span><span class="n">addParam</span><span class="p">(</span><span class="n">pathGroup</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="creating-new-path2dparam">
<h2>Creating new <a class="reference internal" href="../reference.html#Autograph.Path2DParam" title="Autograph.Path2DParam"><code class="xref py py-class docutils literal notranslate"><span class="pre">Path2DParam</span></code></a><a class="headerlink" href="#creating-new-path2dparam" title="Link to this heading"></a></h2>
<p>You can create a new <a class="reference internal" href="../reference.html#Autograph.Path2DParam" title="Autograph.Path2DParam"><code class="xref py py-class docutils literal notranslate"><span class="pre">Path2DParam</span></code></a> and insert it in a <a class="reference internal" href="../reference.html#Autograph.GeomGroup2DParam" title="Autograph.GeomGroup2DParam"><code class="xref py py-class docutils literal notranslate"><span class="pre">GeomGroup2DParam</span></code></a></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">path</span> <span class="o">=</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="p">()</span>
<span class="n">pathGroup</span><span class="o">.</span><span class="n">addParam</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setDisplayName</span><span class="p">(</span><span class="s1">'Tracé 1'</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mf">383.452392578125</span><span class="p">,</span> <span class="o">-</span><span class="mf">220.033996582031</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mf">383.452392578125</span><span class="p">,</span> <span class="o">-</span><span class="mf">220.033996582031</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Left</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mf">209.996337890625</span><span class="p">,</span> <span class="o">-</span><span class="mf">393.490051269531</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Right</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="o">-</span><span class="mf">244.687744140625</span><span class="p">,</span> <span class="o">-</span><span class="mf">220.033996582031</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="o">-</span><span class="mf">71.231689453125</span><span class="p">,</span> <span class="o">-</span><span class="mf">393.490051269531</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Left</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="o">-</span><span class="mf">383.45263671875</span><span class="p">,</span> <span class="o">-</span><span class="mf">81.26904296875</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Right</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mf">244.687744140625</span><span class="p">,</span> <span class="mf">282.478149414062</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mf">383.45263671875</span><span class="p">,</span> <span class="mf">143.71337890625</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Left</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mf">133.67578125</span><span class="p">,</span> <span class="mf">393.490051269531</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Right</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mf">157.322021484375</span><span class="p">,</span> <span class="mf">282.478149414062</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mf">46.31005859375</span><span class="p">,</span> <span class="mf">393.490051269531</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Left</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mf">246.13134765625</span><span class="p">,</span> <span class="mf">193.668701171875</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Right</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mf">157.322021484375</span><span class="p">,</span> <span class="o">-</span><span class="mf">39.1295471191406</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mf">246.13134765625</span><span class="p">,</span> <span class="mf">49.6799621582031</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Left</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mf">86.2744140625</span><span class="p">,</span> <span class="o">-</span><span class="mf">110.177124023438</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Right</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="o">-</span><span class="mf">99.96435546875</span><span class="p">,</span> <span class="o">-</span><span class="mf">39.1295471191406</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="o">-</span><span class="mf">28.916748046875</span><span class="p">,</span> <span class="o">-</span><span class="mf">110.177124023438</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Left</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="o">-</span><span class="mf">156.802490234375</span><span class="p">,</span> <span class="mf">17.7085571289062</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Right</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="o">-</span><span class="mf">99.96435546875</span><span class="p">,</span> <span class="mf">166.699371337891</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="o">-</span><span class="mf">156.802490234375</span><span class="p">,</span> <span class="mf">109.861358642578</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Left</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="o">-</span><span class="mf">54.493896484375</span><span class="p">,</span> <span class="mf">212.169860839844</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Right</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="mi">7</span><span class="p">,</span> <span class="mf">64.698974609375</span><span class="p">,</span> <span class="mf">166.699371337891</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mf">19.228515625</span><span class="p">,</span> <span class="mf">212.169860839844</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Left</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mf">101.075439453125</span><span class="p">,</span> <span class="mf">130.323059082031</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Right</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mf">64.698974609375</span><span class="p">,</span> <span class="mf">34.9688720703125</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mf">101.075439453125</span><span class="p">,</span> <span class="mf">71.3452758789062</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Left</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mf">35.597900390625</span><span class="p">,</span> <span class="mf">5.86776733398438</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Right</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="mi">9</span><span class="p">,</span> <span class="o">-</span><span class="mf">40.685546875</span><span class="p">,</span> <span class="mf">34.9688720703125</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="o">-</span><span class="mf">11.58447265625</span><span class="p">,</span> <span class="mf">5.86776733398438</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Left</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">9</span><span class="p">,</span> <span class="o">-</span><span class="mf">63.96630859375</span><span class="p">,</span> <span class="mf">58.249755859375</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Right</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="o">-</span><span class="mf">40.685546875</span><span class="p">,</span> <span class="mf">119.276458740234</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="o">-</span><span class="mf">63.96630859375</span><span class="p">,</span> <span class="mf">95.9955444335938</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Left</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">setControlPoint</span><span class="p">(</span><span class="n">Autograph</span><span class="o">.</span><span class="n">KeyFrame</span><span class="o">.</span><span class="n">InvalidTime</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="o">-</span><span class="mf">40.685546875</span><span class="p">,</span> <span class="mf">119.276458740234</span><span class="p">,</span> <span class="n">Autograph</span><span class="o">.</span><span class="n">Path2DParam</span><span class="o">.</span><span class="n">PointType</span><span class="o">.</span><span class="n">Right</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="editing-control-points">
<h2>Editing Control points<a class="headerlink" href="#editing-control-points" title="Link to this heading"></a></h2>
<p>A <a class="reference internal" href="../reference.html#Autograph.Path2DParam" title="Autograph.Path2DParam"><code class="xref py py-class docutils literal notranslate"><span class="pre">Path2DParam</span></code></a> internally stores 2 cubic bezier curves: One for the main contour and one for the <em>feather</em> contour.
When you add control points, the <em>feather</em> control points are simultaneously added to the path.</p>
<p>Each point added to the list actually adds 3 control points: The Left bezier control point, followed by the Central point (the curve passes by this point), followed by the Right control point.</p>
<p>The following figure explains how control points are connected</p>
<figure class="align-center">
<a class="reference internal image-reference" href="../_images/bezierSegments.jpeg"><img alt="../_images/bezierSegments.jpeg" src="../_images/bezierSegments.jpeg" style="width: 400px;" /></a>
</figure>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Create a rectangle</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">100.</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mf">100.</span><span class="p">,</span> <span class="mf">100.</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">insertControlPoint</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mf">100.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">)</span>
<span class="n">path</span><span class="o">.</span><span class="n">closed</span> <span class="o">=</span> <span class="kc">True</span>
</pre></div>
</div>
<p>If the <a class="reference internal" href="../reference.html#Autograph.Path2DParam.closed" title="Autograph.Path2DParam.closed"><code class="xref py py-attr docutils literal notranslate"><span class="pre">Path2DParam.closed</span></code></a> attribute is set to True, the path will be closed.</p>
<p>For convenience, the <a class="reference internal" href="../reference.html#Autograph.GeomGroup2DParam.setToPath" title="Autograph.GeomGroup2DParam.setToPath"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GeomGroup2DParam.setToPath()</span></code></a> function can take a <a class="reference internal" href="../reference.html#Autograph.Path2D" title="Autograph.Path2D"><code class="xref py py-class docutils literal notranslate"><span class="pre">Path2D</span></code></a> and create automatically the corresponding <a class="reference internal" href="../reference.html#Autograph.Path2DParam" title="Autograph.Path2DParam"><code class="xref py py-class docutils literal notranslate"><span class="pre">Path2DParam</span></code></a> . This is easier to do than manually creating the <a class="reference internal" href="../reference.html#Autograph.Path2DParam" title="Autograph.Path2DParam"><code class="xref py py-class docutils literal notranslate"><span class="pre">Path2DParam</span></code></a> and setting control points.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="customPanels.html" class="btn btn-neutral float-left" title="Creating custom Panels" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="timelinePanel.html" class="btn btn-neutral float-right" title="Interacting with the Timeline" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>© Copyright 2026 Maxon Computer GmbH.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>