Jump to content


Photo

Smart Knife extension available


  • Please log in to reply
7 replies to this topic

#1 jdunning

jdunning

    Fireworks Ninja

  • Members
  • PipPipPipPipPip
  • 173 posts

Posted 17 June 2009 - 09:34 PM

Smart Knife can be downloaded here: http://johndunning.c...bout/SmartKnife

Posted Image

The Smart Knife command lets you split one or more shapes in half using an open path. The built-in knife tool lets you split a path, but only in a straight line, and it doesn't work with text, auto shapes or bitmaps. Smart Knife lets you cut across multiple paths, bitmaps, auto shapes and text blocks with an arbitrarily complex open path.

First, arrange the elements you want to cut. The elements may be stacked on top of each other; Smart Knife can cut through multiple layers just fine. Then use the pen or line tool to draw an open path across those elements. Make sure the ends of the path extend beyond the edges of the shapes you want to cut. Finally, select the elements you want to cut along with the cutting path, and then run the Smart Knife command. The selected objects will be cut into two parts wherever the path intersects them. All of the cut pieces will be selected after running the command, so you'll need to deselect everything before pulling the pieces apart.

If you are cutting a bitmap with a cutting path that is antialised, the resulting bitmaps have an antialiased edge where they were cut. If the path is hard-edged, the bitmaps will have a hard edge where they were cut (the two halves will mesh perfectly when next to each other).

Note that Smart Knife always cuts a shape into two pieces, no matter how many times the path cuts across it. Therefore, the resulting pieces may be compound paths that consist of several non-intersecting shapes. You can break them into separate elements using the Modify > Combine Paths > Split menu command. Also, the cutting path is deleted in the process of using Smart Knife, so make a copy of it before running the command if you want to keep it around.

Thanks to Dave Hogue for coming up with an interesting use case to inspire a new command!

#2 DaveH

DaveH

    FireworksNut

  • Members
  • PipPipPipPipPipPip
  • 343 posts
  • Location:San Francisco CA USA

Posted 18 June 2009 - 08:37 PM

Thanks! I'm always glad to think of things that my tools can't do and then convince other people to make it work. :)

This is awesome, John. My team and I have already put it into regular use - it really should be a standard function of FW.

#3 SiamJai

SiamJai

    Fireworks Ninja

  • Members
  • PipPipPipPipPip
  • 205 posts

Posted 19 June 2009 - 12:15 AM

This is a really handy extension!

John, I envy you and the other FW-developers out there. You guys just see a need and make Fireworks fulfill it in a way it wasn't intended to work internally. How cool is that? :thumbsup:

#4 kelton

kelton

    FireworksNut

  • Members
  • PipPipPipPipPipPip
  • 471 posts
  • Location:Antigua
  • Interests:web design, logo design, user interface design

Posted 20 June 2009 - 03:38 PM

i echo that sentiment... it is very cool.

#5 abeall

abeall

    FireworksNut

  • Administrators
  • PipPipPipPipPipPip
  • 523 posts

Posted 21 June 2009 - 08:26 PM

Very smart, as always. ;)

Thanks for sharing, will definitely make use of it.

#6 Alan

Alan

    FireworksGuru

  • Root Admin
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1,506 posts
  • Location:San Francisco, California USA
  • Interests:Longboarding, art and video games

Posted 14 July 2009 - 07:55 PM

Just wanted to say this is probably one of my top ten extensions I use constantly with fireworks.

#7 DaveH

DaveH

    FireworksNut

  • Members
  • PipPipPipPipPipPip
  • 343 posts
  • Location:San Francisco CA USA

Posted 14 July 2009 - 08:43 PM

John, I envy you and the other FW-developers out there. You guys just see a need and make Fireworks fulfill it in a way it wasn't intended to work internally. How cool is that? :thumbsup:


Actually, I think this is one of the key strengths of Fireworks - it WAS intended to work this way. Fireworks was made to be extensible - the open software framework means that ANYONE make Fireworks do what they need, and we are not limited by the built-in functionality. In most cases we can make it do whatever we want (though John has found a few small cases where he can't make it do precisely what he wants, so he simply works around it a different way.)

It's powerful software, and I wish there were more resources available out there to teach people how to create their own extensions and commands. If you have the inclination to learn JavaScript you're 75% of the way there.

Anyone interested in writing some basic tutorials on how to create SIMPLE commands and use the Fireworks API? Aaron? John? Matt? Grant? Alan? Bueller? Bueller? :)

#8 jdunning

jdunning

    Fireworks Ninja

  • Members
  • PipPipPipPipPip
  • 173 posts

Posted 16 July 2009 - 12:51 PM

Just wanted to say this is probably one of my top ten extensions I use constantly with fireworks.

Wow, even though it's only been available for a month? :)