Inkscape CloseCurves extension English support forum

cnc-club.ru for English speaking users

Inkscape CloseCurves extension English support forum

Сообщение Nick » 20 янв 2010, 10:42

If you have any questions click here to register. You can choose English interface there.

This is an Inkscape extension that closes all open curves in the selection.
It may be useful when you want to use curves in other programs such OpenOffice. OpenOffice wont fill path if it isn't closed one. Also if you convert text to curve, you can see some trash in the outline because curves are not closed (see attached pictures).
Inkscape CloseCurves extension English support forum close_curves.png
Close curves inkscape extension


This extension works with paths. It modifies path's d parameter. It adds a 'z' just before each 'm' if it's not the first one in the line or there's already 'z' before it.


Instalation: Unpack files from attached archive to /usr/share/inkscape/extensions/. Extension appears at Extension->Modify path.

Any comments and contributions are welcome :)!

close_curves.inx
Код: Выделить всёРазвернуть
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
   <_name>Close curves</_name>
   <id>ru.cnc-club.filter.close_curves</id>
   <dependency type="executable" location="extensions">close_curves.py</dependency>
   <dependency type="executable" location="extensions">inkex.py</dependency>
   <param name="help" type="description">
      Select paths that you want to close, and press ok.
   </param>
   <effect needs-live-preview="false">
       <effects-menu>
            <submenu _name="Modify Path"/>
        </effects-menu>
      <object-type>path</object-type>
   </effect>
   <script>
      <command reldir="extensions" interpreter="python">close_curves.py</command>
   </script>
</inkscape-extension>

close_curves.py
Код: Выделить всёРазвернуть
#!/usr/bin/env python 
"""
Copyright (C) 2009 Nick Drobchenko, nick@cnc-club.ru
based on gcode.py (C) 2007 hugomatic...
based on addnodes.py (C) 2005,2007 Aaron Spike, aaron@ekips.org
based on dots.py (C) 2005 Aaron Spike, aaron@ekips.org

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
"""

#   
#   This extension close paths by adding 'z' before each 'm' if it is not
#   the first 'm' and it is not prepended by 'z' already.
#

import inkex, re, simplepath
         
class CloseCurves(inkex.Effect):
   def __init__(self):
      inkex.Effect.__init__(self)
   def effect(self):
      for id, node in self.selected.iteritems():
         if node.tag == inkex.addNS('path','svg'):
            d = node.get('d')
            d = simplepath.formatPath( simplepath.parsePath(d) )
            d = re.sub(r'(?i)(m[^mz]+)',r'\1 Z ',d)
            d = re.sub(r'(?i)\s*z\s*z\s*',r' Z ',d)
            node.set('d', d)   

   
e = CloseCurves()
e.affect()

Вложения
close_curves.tar.gz
(1.3 Кб) Скачиваний: 2471
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1332
Заслуга: Developer
Медальки:

Re: Inkscape CloseCurves extension English support forum

Сообщение alfcnc » 18 апр 2010, 20:36

Thank's ! I'have try that's work great.
And it's very well when apply it before engraving or others gcode tools ! this resolve some errors in the generate path...

Have a nice day ! 8-)
alfcnc
Кандидат
 
Сообщения: 98
Зарегистрирован: 02 апр 2010, 19:10
Репутация: 0
Заслуга: Tester

Re: Inkscape CloseCurves extension English support forum

Сообщение tarianz » 04 сен 2011, 08:11

Code is awesome )
bates methodкосоглазие
Radeon 6990
Последний раз редактировалось tarianz 07 сен 2011, 09:08, всего редактировалось 1 раз.
tarianz
Новичок
 
Сообщения: 2
Зарегистрирован: 04 сен 2011, 08:09
Репутация: 0

Re: Inkscape CloseCurves extension English support forum

Сообщение Nick » 04 сен 2011, 20:07

Thanks :)! It was not to hard to write it :lol:.
Use the Console, Luke.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22330
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1332
Заслуга: Developer
Медальки:

Re: Inkscape CloseCurves extension English support forum

Сообщение DMexico » 22 мар 2013, 09:39

Thanks, Nik! Useful extension!
Мнение автора может не совпадать с мнением редакции
Аватара пользователя
DMexico
Опытный
 
Сообщения: 148
Зарегистрирован: 13 мар 2010, 21:39
Откуда: Киев
Репутация: 6


Вернуться в English forum

Кто сейчас на конференции

Зарегистрированные пользователи: anthro, Bing [Bot], FedorovDrugoy, Google [Bot], Majestic-12 [Bot], sas_75, Yahoo [Bot], Yandex [bot], Фрост

Поделиться

Reputation System ©'