Smooth transitions in Bézier paths
by Diederik van Lierop
Hi,
I hope you don't mind if I increase the traffic on inkscape-devel even
more ;-)
At some point an idea popped up to only snap to nodes at discontinuities
in paths, and not to nodes at smooth transitions from one Bézier segment
to another. This is more intuitive (less "Hey, what it is Inkscape
snapping to now?") and might increase performance.
Problem is that in the object-snapper I only have access to SPCurve,
which is a wrapper for "old-style" NArtBpath. It's easy to find out
whether a point is inbetween two Bézier segments, but how do I find out
if a transition is smooth? I guess that should be done by comparing the
control points, or is there an easier way? With the transition to
lib2geom, will the NArtBpath be deprecated in favor of the Path class?
(that would make this rather exercise useless in the long run).
Any pointers would be appreciated here,
Diederik
15 years
question regarding wishblade robocraft support...
by stuart
Sorry for posting here if the user list if better. And sorry about the
subject if it has been talked about before. I couldn't get sourceforge
to add me to the inkscape user mail list and sourceforge was timing out
on all my archive searches with no results.
---
I remember reading that there was a patch or something to inkscape to
support wishblade and robocraft users. Has that been integrated into
the inkscape application? Is that what the DXF is all about?
Wishblade users can not use DXF directly (needing the robocraft software
to import DXF and change it to some sort of native (and maybe
proprietary) GSD). Is there a way to get inkscape to save images in GSD
in order to simplify the process?
Ideally, I would prefer to skip bringing up the wishblade application.
In my set up, I do all my work in linux (GIMP/INKSCAPE) and only the
plotting in Windows. If I could do everything in linux it would
simplify the flow of work greatly. Has anyone figured out how the
craftrobo is communicated to in order to use it with common open source
linux plotting software?
Better yet, has anyone figured out how the wishblade has been crippled
in order to use it with common open source linux plotting software?
...thanks
15 years, 2 months
sorting out PS/EPS/PDF export mess
by bulia byak
It's always bad when the UI offers two ways to do the same thing
without really explaining what's the difference. It's equally bad when
UI uses some meaningless techno jargon such as "cairo" :)
Unfortunately 0.46 was released still in the middle of a transition
period which made both these evils inevitable. Now that we're in 0.47,
however, I would like to address this issue by switching all of PS,
EPS, and PDF output to cairo, removing the builtin Inkscape exporter,
and purging the mentions of "cairo" from the UI.
As a matter of fact, this has already partially happened (not sure who
did this). Right now both PS export options work via cairo and produce
identical output. The Inkscape-native PDF export is nowhere to be
seen. The only exporter which still uses native code is EPS. However,
since 1.5.2 cairo can produce EPS files too, so this can all be done
in one place now (closng several EPS export bugs along the way). The
only downside is that it will require cairo >= 1.5.2, is everyone OK
with that?
By the way, the latest cairo 1.5.12 finally fixes the bug where
zooming in too closely in Outline mode produced messy broken lines.
Now everything is neat and clean. Upgrade is recommended.
--
bulia byak
Inkscape. Draw Freely.
http://www.inkscape.org
15 years, 2 months
Welcome to GSoC 2008!
by Aaron Spike
Felipe, Jasper, Johan, Marco and Maximilian,
On behalf of the Inkscape community, let me congratulate you. You have
been selected to participate in Google's Summer of Code 2008. I'm happy
to see that all of you have already begun working with the community.
We're all looking forward to working with you through the summer and
beyond.
Bryce Harrington and I are the GSoC administrators for Inkscape this
summer. Don't hesitate to contact us if you have concerns. If you have
not already done so, please subscribe to the Inkscape-devel mailing
list. We recommend that you conduct the bulk of your Inkscape related
communications through this list so that the community can keep
up-to-date with your progress.
https://lists.sourceforge.net/lists/listinfo/inkscape-devel
We want to see you complete your project successfully. With this in
mind, please strive to communicate actively. Active and open
communication is a must for any successful Open Source Software project.
We recommend that you be mindful of your schedule. Attempt to complete
90% of your project by the midterm evaluation period (July 7-14th). This
will allow you to concentrate on bug fixing and documentation for the
remaining time.
Aaron Spike
15 years, 3 months
inkscape git mirror?
by MenTaLguY
I'm interested in setting up a git mirror of Inkscape SVN; who's the person in charge of our server currently? We'll need to have a fairly current version of git, libsvn, and the libsvn perl bindings installed to do this.
-mental
15 years, 5 months
PS/EPS import proposal
by bulia byak
Would anyone object if I switch PS and EPS import from using
pstoedit/skconvert to this:
- convert ps to pdf with ps2pdf from Ghostscript
- import pdf to Inkscape?
Reasons:
- Ghostscript is doubtlessly the most competent open source software
for dealing with Postscript; it is cross-platform, actively updated
and is much more commonly installed than anything else we've been
using
- our PDF importer is the best importer we have, and it works better
than any third party things that claim to produce svg
- for multipage postscript, we get for free a dialog for selecting the
page (and later, the option to import multiple pages into one
multipage SVG will only have to be coded once for PDF and work for PS
at once).
Testing by people in https://bugs.launchpad.net/bugs/190424 as well as
my own experience tells me this route works quite well.
--
bulia byak
Inkscape. Draw Freely.
http://www.inkscape.org
15 years, 5 months
Fwd: Programming for Inkscape.
by bulia byak
...forwarding this to the devel list...
---------- Forwarded message ----------
From: Pam B. <pamely@...329...>
Date: Thu, Feb 14, 2008 at 2:26 PM
Subject: Programming for Inkscape.
To: buliabyak@...400...
Hi,
I have been told to contact you by Bibi Morris. I understand that in the
past some wonderful people have made changes in Inkscape that made it an
incredibly useful program for owners of Wishblade and CraftRobo personal
media cutters.
I have now been provided a tip that would allow users of Linux to drive
their machines directly from Inkscape. The "tip" suggested that Windows
users might be able to do the same if someone was able to do something
with the windows binary for Inkscape. As is probably already obvious, I
know nothing about Operating Systems, nor do I know anything about
coding and software programming.
Actually, I no longer even own a Wishblade, (I have moved on to a bigger
machine.) but I do run a support group for over 1,000 personal cutter
owners. This has the potential of being a very powerful tool to owners
of these types of cutters and could save them hundreds of dollars in
software upgrades. Would you please check into this and see if it is
something that can be done for us?
Thank you,
Pam Beard and the 1,000+ in the yahoo group: EasyWishbladers
The "tip" is pasted below:
If the words Linux, RedHat, Debian, Inkscape and / or Python mean
anything to you read on (warning, getting technical here...).
How would you like to cut from inkscape? all in Linux?
I have been lurking in Linux Printer Driver land and was very happy
to find an early copy of a Python script designed to provide the
necessary "linkage" between Inkscape and a craftrobo cutter. With a
little change to the code, we verified it works with a wishblade as
well. But you might have to wait until there is support in the down
loadable python script.
Basically, you print from Inkscape "using PostScript operators" (not
as a bitmap). And, instead of sending the output to a printer, you
"pipe" it to the python application. This operation is actually
described in the Inkscape print popup menu. When you click on print,
the python GUI pops up giving you more options. This GUI interface
is *much* simpler than the actual graphtec software. Most anything
to do with the image needs to be done in Inkscape. The only real
control on the GUI are the paper size, the cutting speed and the
cutting pressure.
I suppose this can also be done in windows. My *assumptions* are
that there is a windows binary for inkscape as well as python and
python related software. If that's the case, then you may be able to
skip setting up a Linux box.
I know I am hitting only about 1% of you, but if you want to try the
script you can get it here: http://vidar.gimp.org/graphtecprint/
....I am sure feed back at this stage of development would influence
what features are fixed, enhanced and / or added.
--
bulia byak
Inkscape. Draw Freely.
http://www.inkscape.org
15 years, 5 months
NEW: Spiro splines LPE
by bulia byak
Spiro splines are a novel way of defining curvilinear paths developed
by Raph Levien. Recently, Spiro support was added to the FontForge
font editor, and now it is available in Inkscape too. It takes some
getting used to, but for certain tasks Spiros have a clear advantage
over Bezier curves.
http://www.levien.com/spiro/
A Spiro path is defined by a sequence of points, but unlike a
regular path with Bezier curves, all Spiro points lie on the path and
there are no off-path handles. The curvature of the path is defined
entirely by the positions of the points and their types. The path
behaves very similar to a springy rod which is forced to pass through
the given points and which uses the minimum possible curvature to
satisfy the requirement. As such, it feels quite natural and the
resulting path is very smooth - with the kind of smoothness you can
achieve with Beziers only after much tweaking.
To create a Spiro path, select any path and assign the "Spiro
spline" path effect to it. There are no parameters. Each node of your
path becomes a point of a Spiro path, depending on the type of node:
* Smooth nodes (those with two collinear Bezier handles)
become curve points of the Spiro path; such points bend the curve but
must remain smooth. Note that the length or direction of the Bezier
handles of the source path is ignored; the only thing that matters is
that the node is smooth.
* Cusp nodes of the source path become corner points of the
Spiro path. Between two corner points, the path is always a straight
line.
* Half-smooth nodes - those with one Bezier handle collinear
with a straight line segment on the other hand - become "left" or
"right" points on the Spiro path which behave exactly the same: they
sit between a straight line and a curve and enforce that these two
segments join smoothly without a cusp.
Note that what matters is the actual collinearity of a node's
handles, regardless of the node type that the node has in the Node
tool; for example, if a cusp (diamond-shaped) node has collinear
handles, it will become a curve point of the Spiro path. For creating
half-smooth nodes, use Ctrl+dragging of the node handle to make it
snap to the direction of the straight line segment on the other side,
or press Shift+S to lock it to that direction.
Some configurations of points do not converge and produce wild
loop and spirals instead of a smooth curve. According to Raph, "The
spline solver in this release is _not_ numerically robust. When you
start drawing random points, you'll quickly run into divergence.
However, "sensible" plates based on real fonts usually converge."
Avoid too sharp changes in direction between points to prevent
divergence. Hopefully, the robustness of the algorithm will be
improved in future releases.
For now, to edit Spiro paths viewing the result in real time, you
have to use the Node tool. The Pen tool does not yet allow you to
preview a Spiro as you draw, although you can paste the Spiro effect
on the path and see the result as soon as the path is finalized. You
can always use the Node tool to continue a Spiro path by duplicating
and dragging away its end nodes. Also, when you have a Spiro path
selected, you can add a new subpath to it with Pen or Pencil if you
start drawing with Shift.
Raph: Thanks for your code, and let me know when you have a new
version :) I have copied only spiro.c/h and bezctx.c/h to Inkscape
tree, renaming .c to .cpp and removing debug output, but otherwise
unchanged.
--
bulia byak
Inkscape. Draw Freely.
http://www.inkscape.org
15 years, 6 months
feature request, XY lower-left vs center toggle
by qazxswedcvfrtgbnhyujmkiolp2000 qazxswedcvfrtgbnhyujmkiolp2000
Hi inkscape-devel,
A very useful feature for me (and probably others) is to toggle the
meaning of the X and Y boxes between object lower left coordinate and
object center coordinate.
For example, just as there is a padlock button to control whether W
and H are locked, there could be an origin button to control whether X
and Y are lower left or center coordinate.
I want this e.g. for positioning centered text by center coordinate,
not lower left.
What do you think?
qazxswedcvfrtgbnhyujmkiolp2000
15 years, 6 months
Animation (was: Re: Inkscape / GSoC '08 proposal)
by Christophe Dehais
Hi Martin and everyone!
On Tue, Feb 26, 2008 at 9:56 AM, Martin Owens <doctormo@...400...> wrote:
>
> If anyone is looking for a small simple project that would make great
> impact they should think about working with me on the simple animation
> plan; although I've not had a lot of time to work on it other than
> reading inkscape codebase, I do believe the plan to be a solid
> starting point.
>
I might actually be interested in this. I don't know what you have in
mind precisely about "the simple animation plan", but here are the
main possible goals I see:
* implement the svg animation elements : animate, set,
animate{Motion|Color|Transform}
* figure out a decent UI for editing animations:
- a time-based (SMIL oriented) timeline editor to represent / move
around keytimes (=keyframes except it's not frame-based but
time-based)
- an interpolation curves editor
* design some animation-related on-canvas items, like:
- trajectories (motion-paths)
- temporarily overlayed (t-epsilon) / (t+epsilon) state of an
object (to mimic onion skinning)
Is that close to what you thought about ?
There are a lot of open questions, like:
- should there be an "animation mode" where the animated attributes
values are edited, as opposed to a "normal mode" where it's the object
attributes that are modified ?
- SMIL semantic is quite rich: at first some things might be discarded
like repetition or the possibility to define the start of an animation
based of some events (e.g. user click or the end of another
animation). Those things don't map well in a timeline UI which I guess
is the way animators are used to think.
- will the canvas scale well to preview large animations sufficiently smoothly ?
Comments welcomed !
regards,
Christophe
15 years, 6 months