Skip to main content
pixxxelschubser
Community Expert
Community Expert
December 23, 2021
Question

[JS] [Action] Split or break a dashed line into separate (real) lines by script

  • December 23, 2021
  • 33 replies
  • 11915 views

Illustrator does not offer a direct way to convert dashed lines (e.g. for cutting plotters or CNC engraving).

 

Please do not reply to suggest the way to set the outline thickness to a very small value e.g. 0.0001pt. This way still creates filled rectangles and not real lines and is therefore unsuitable.

 

I also know some existing scripts that try to redraw the dash line. Unfortunately, these scripts are not an option either, because the results sometimes differ from the originals.

 

For several years I have used the manual way to break up a dashed line into single (real) lines:
- select the dashed line
- (optionally) create a duplicate and turn off the visibility of the original
- draw a horizontal straight line (helper object)
- remove the dash line attribute from the straight line (helper object)
- create an artbrush from this line (option: Artbrush, no further options, usually just confirm twice)
- delete the line (helper object)
- assign the newly created brush to the original dashed line (or its duplicate)
- use the menu command Object --> Expand Appearance
- ungroup two times
- group the selection and name the group as desired
- delete the artbrush

 

Since this process is rare, but needs to be done over and over again, I wanted to create a script.

Unfortunately there is a problem. Adobe Extendscript cannot be used to create or delete a brush. But it is possible to create a brush with an action. This action can be included in a script. But this way always needs additional confirmations by the user:

- select the option: Artbrush
- confirmation of the selection with [OK]
- confirming the options dialog with [OK] (usually without further settings)

 

 

Question: Does anyone know a way to create an art brush via script or action without additional user interaction (and delete it afterwards)?

 

-------------------------------------------------------------------------------------------

For those interested, here is an example action to create a brush in text form:

 

/version 3
/name [ 16
	63726561746544756d6d794272757368
]
/isOpen 1
/actionCount 1
/action-1 {
	/name [ 16
		63726561746544756d6d794272757368
	]
	/keyIndex 0
	/colorIndex 0
	/isOpen 1
	/eventCount 1
	/event-1 {
		/useRulersIn1stQuadrant 0
		/internalName (ai_plugin_brush)
		/localizedName [ 6
			50696e73656c
		]
		/isOpen 1
		/isOn 1
		/hasDialog 0
		/parameterCount 1
		/parameter-1 {
			/key 1835363957
			/showInPalette -1
			/type (enumerated)
			/name [ 12
				4e657565722050696e73656c
			]
			/value 1
		}
	}
}

 

Many thanks in advance.

 

This topic has been closed for replies.

33 replies

Kurt Gold
Community Expert
Community Expert
December 28, 2021

Gut, vielen Dank, pixxxelschubser.

 

Ich bin gespannt auf Deine Beispieldateien und werde natürlich testen, ob die Bildpinsel-Methode dort keine "chunk objects" erzeugt. Glaube nicht daran, aber wer weiß ...

 

Morgen gibt's noch eine neue Aktion inkl. Beispieldokument mit allen möglichen offenen und geschlossenen Strichelobjekten.

 

pixxxelschubser
Community Expert
Community Expert
December 28, 2021

@Kurt Gold 

An "echte" Daten komme ich erst wieder nach dem Jahreswechsel. Aber ich kann sicherlich etwas basteln. Es geht tatsächlich ausschließlich um in Illustrator erstellte gestrichelte Konturen auf geraden und auch auf gebogenen Pfaden.

 

Mit geraden Strichlinien funktioniert deine Aktion. Geschlossene Pfade treten meiner Meinung nach nur bei elliptischen, runden oder sonstigen gebogenen Pfaden auf. Ich habe in deiner Datei nur mit den Eigenschaften des untersten Pfades eine Ellipse mit ca. 47 x 22mm erstellt und dann die Konturstärke auf 2 mm erhöht und den Abschluss auf abgeflacht gestellt. Der Screenshot weiter oben zeigt die Anzahl der entstandenen offenen und geschlossenen Pfade.

 

Was mich selbst extrem verwundert hat: deine Dateien waren die allerersten, in denen überhaupt solche überflüssigen Objekte entstanden sind. Ich habe so etwas zuvor noch nie erlebt. Es ist aber (fast) egal. Unsere CNC-Programme haben sehr gute Importfilter. Viele der überflüssigen einzelnen Ankerpunkte werden beim Einfügen der Dateien automatisch bereinigt und es ist relativ einfach weitere gezielte Säuberungen durchzuführen.

 

pixxxelschubser
Community Expert
Community Expert
December 28, 2021

Hi @CarlosCanto 

Desperate? No.

I have a working solution approach. You can try my own test script from my post https://community.adobe.com/t5/illustrator-discussions/js-action-split-or-break-a-dashed-line-into-separate-real-lines-by-script/m-p/12618253#M303682

But maybe with the collective swarm knowledge we can find a better solution for something Illustrator doesn't offer - but finds too few advocates to become a successful feature request. Simple and easy to handle.

 

Do you know: "Obstacles and difficulties are steps on which we climb up to the heights." (Friedrich Nietzsche)

😉

 

By the way: I love the Movie "Leon the Professional"

CarlosCanto
Community Expert
Community Expert
December 28, 2021
quote

By the way: I love the Movie "Leon the Professional"


By @pixxxelschubser

 

It's one of my favorites, love it as well.

CarlosCanto
Community Expert
Community Expert
December 27, 2021

Hi pixxxel, you have very specific demands that are hard to meet

 

- no suggesting to apply small strokes

- no redrawing the small paths

- no helper files (independent scripts only)

- no performance killer loops

 

you're killing us!! hahaha

Silly-V
Legend
December 28, 2021

I was curious on the lack of scripting support because in Types-for-Adobe typescript OMV-based type definitions there is a document.brushes.add(file, name) and document.brushes.addAndLoad(file) methods.

But of course none of these work at all.. or is that completely true?

The error message is not that this method is not a function but rather the funny Illustrator error "CAN'T".

Also, it does work up to some point because if you do not put the right kind of argument, such as the File object into the 1st argument spot, it will complain that the argument it needs is supposed to be a File.

Could there be a file format that does work? I doubt it, I tried .ai compressed and uncompressed, with PDF and without PDF content and it didn't work.

For this case if dynamic brushes could be created and their names could be controlled, then maybe the script could have made its own temp helper documents and removed them after use.

CarlosCanto
Community Expert
Community Expert
December 28, 2021

hmm...interesting, perhaps those are ancient methods that are no longer supported?

Kurt Gold
Community Expert
Community Expert
December 27, 2021

OK, pixxxelschubser.

 

Du solltest allerdings vielleicht mal ein paar echte Beispieldateien (Ausgangsdateien) zur Verfügung stellen.

 

In meinen Testdokumenten habe ich heute Auswahlen von gestrichelten Objekten mit der Aktion (Dash Nipper 2) bearbeitet, die bis zu 10.000 einzelne Pfade erzeugt haben. Davon waren nur ein paar wenige geschlossen. 99,9 Prozent waren offene Pfade mit jeweils 2 (selten 3 oder mehr) Ankerpunkten. Also eigentlich genau das gewünschte Ergebnis. Es trifft zu, dass unterschiedliche Strichstärken nicht erhalten bleiben. Das kann die Aktion nicht.

 

Wieviele geschlossene (unerwünschte) Pfade hast Du in meinem letzten Beispieldokument erhalten, nachdem die Aktion ausgeführt wurde?

 

Eine kleine Verfeinerung der Aktion werde ich morgen bereitstellen.

 

Apropos: Wie gehst Du zurzeit mit den Unmengen an überflüssigen Objekten um, die die Methode mit dem Bildpinsel erzeugt? Das dürfte doch Gift für die CNC-Steuerung sein.

 

-------------

 

In English:

 

OK, pixxxelschubser.

 

You may want to provide a couple of real sample files, so one may have a closer look at them.

 

Today I took some sample files and applied the action (Dash Nipper 2) to a selection of dashed objects that finally produced up to 10.000 separate paths. Just a few of them were closed. 99.9 percent were open paths, each with 2 anchor points (rarely 3 or more points). As far as I can see, that is the desired result. It is true that stroke weights are not preserved. The action cannot do that at the moment.

 

How many unwanted closed paths did you get when applying the action in the sample file I provided in my previous post?

 

I will provide a slightly modified version of the action tomorrow.

 

By the way: How do you currently handle the vast amount of useless objects that are created when using the Art Brush method? That is probably pretty harmful for any kind of CNC-processing.

 

pixxxelschubser
Community Expert
Community Expert
December 27, 2021

Hallo Kurt,

danke vielmals für dein Interesse an der „Problematik“ und dem Versuch einer Lösungsfindung. Aber scheinbar verändert der Weg über eine reine Aktion immer die Strichlängen und er erzeugt auch oft geschlossene Pfade. Davon abgesehen verändert er auch die anderen Eigenschaften der Kontur (im Screenshot: original = schwarz | Resultat der Aktion = rot). Das macht eine Gegenprüfung mit dem Original leider fast unmöglich.

 

Wahrscheinlich werde ich versuchen, meinen Skriptansatz noch etwas zu verfeinern und mit den „lästigen“, aber leider notwendigen Klicks für die Pinselerstellung zu leben. So könnte ich am Anfang die nicht benötigten Pinsel löschen – und nach der Umwandlung den gleichen Schritt noch einmal anwenden. Dadurch bleibt auch bei mehreren umzuwandelnden Strichlinien die Pinselpalette „sauber“. Dann könnte man das Skript entweder über eine Aktion starten und auf diesem Weg mit einem Tastenkürzel versehen – oder über meine eigene Skriptpalette einbauen. So spart man sich auch noch die „unnötigen“ Klicks für den Skriptaufruf über das Menü.

 

Und man soll ja die Hoffnung nicht aufgeben. Vielleicht bauen die Adobe-Entwickler in Zukunft ein paar zusätzliche Anbindungen in ihre Extendscript-Schnittstelle ein. Oder ein anderer Scripter wie z.B. @CarlosCanto, @Silly-V, @m1b, @Disposition_Dev, @Charu Rajput, @brian_p_dts oder auch unsere „Newcomer“ @femkeblanco und @Parts4Arts hat/ haben noch eine geniale zündende Idee.

 

m1b
Community Expert
Community Expert
December 27, 2021

Hi @pixxxelschubser, I'm interested in this problem too and I'm trying a scripting approach. We'll see if I get anywhere, but so far it's looking promising.

- Mark

m1b
Community Expert
Community Expert
January 19, 2022

Just letting you know that I am still working on this problem whenever I get time and have so far made great progress, after many failed experiments. Will have something to post in the next week or so I hope.

- Mark

Kurt Gold
Community Expert
Community Expert
December 27, 2021

Hallo pixxelschubser,

 

wie findest Du die Zerstückelungsquote mit dieser Spielart?

 

Dash Nipper 2

 

Ein Beispieldokument zum Testen ist wieder enthalten.

 

pixxxelschubser
Community Expert
Community Expert
December 26, 2021

Hallo Kurt,

vielen Dank für deine Aktion.

 

Ich bin mir nicht sicher, ob ich sie einfach nur falsch anwende - oder ob sie so angelegt wurde. Aber leider werden weder in deiner Testdatei noch in meinen eigenen Testdateien "saubere" Striche (offene Pfade) erstellt. Meistens ergibt sich als Ergebnis eine Mischung aus offenen und geschlossenen Pfaden. Und das Aussehen der Strichlinien (z.B. Strichstärke) wird leider auch verändert.

 

Aber ich weiß ja aus meinen eigenen Versuchen, dass die ganze Problematik "nicht ganz ohne" ist. Deshalb trotzdem ein ganz liebes Dankeschön und noch frohe Feiertage.

 

Ach ja,

nachfolgend meine eigene kleine Skriptstudie zu diesem Thema. Funktioniert bei mir unter Windows mit den meisten Illustratorversionen. Ist noch im Teststadium und nicht ganz sauber geschrieben und daher nur als implementiertes Jsxbin. Ganz normal  z.B. unter pathItem_Stroke_dashed_line_remove_with_artbrush_jsxbin.jsx im Skripten-Ordner von Illustrator speichern, Illustrator neustarten, eine gestrichelte Linie erstellen und auswählen. Danach das Skript starten.

(Ich habe das Skript testhalber mit deiner Testdatei laufen lassen, aber da funktioniert die Umwandlung nicht reibungslos. Hier werden stellenweise zusätzliche Ankerpunkte erzeugt - das war bei meinen eigenen Dateien nicht der Fall.)

Hier das Testskript. Bitte nur mit Kopien und nicht mit ungespeicherten Originaldateien ausprobieren!

 

Ansonsten solltest du nach dem Testen einfach ab und zu deine Pinselpalette aufräumen. Zur Zeit kann immer nur eine Strichlinie nach der anderen umgewandelt werden. Bin mir noch nicht sicher, wie ich ein praxistaugliches Skript und meine eigenen Anforderungen kombinieren kann.

 

// pathItem_Stroke_dashed_line_remove_with_artbrush_jsxbin.jsx
// ---Testversion---
// braucht ein ausgewähltes gestricheltes Objekt - zerteilt eine gestrichelte Kontur in echte Einzellinien und 
// erhält die Eigenschaften (z.B. Strichstärke und Konturfarbe)
// pixxxelschubser 26. Dez. 2021

// ***************** Einstellung : Setting ********************
var show_hint_dialog = 1; // 0 switches off the dialog

// var always_create_duplicate = 1; // switch off not yet built in
// **************************************************************

eval("""@JSXBIN@ES@2.0@MyBbyBnAEMKbyBn0ADJLnASzCjCjSBAAnnftaNbyOn0ABJOnAEXzEjQjVjTjICfVB\
fARBXzEjOjBjNjFDfQzAEfXzHjCjSjVjTjIjFjTFfjzEjBiEjPjDGfVzBjJHfBffAVHfBAXzGjMjFjO\
jHjUjIIfXFfjGfByBzBhcJZQnAVBf0ACH4B0AiAB40BiAACAzLjCjSjVjTjIjFjTiMjJjTjUKARMUby\
Bn0ACOVbWn0ADJWnABjzDjNjTjHLfnehEiBjCjCjSjVjDjIhOhAiLjFjJjOjFhAjPjEjFjShAjGjBjM\
jTjDjIjFhAiBjVjTjXjBjIjMhOfJXnAEjzFjBjMjFjSjUMfRBjLfffZYnAnACzChBhdNXIfXzJjTjFj\
MjFjDjUjJjPjOOfjGfnndBbgcn0ACJgcnASzEjBiTjFjMPAXzBhQQfXOfjGfnftOgdbgen0ADJgenAB\
jLfnehHiBjCjCjSjVjDjIhOhAiBjVjTjXjBjIjMhAjJjTjUhAjLjFjJjOjFhAiTjUjSjJjDjIjMjJjO\
jJjFhOfJgfnAEjMfRBjLfffZhAnAnACzChdhdRXzMjTjUjSjPjLjFiEjBjTjIjFjTSfVPfAnneAbhDn\
0AgfJhDnABXDfVPfAneUiTjUjSjJjDjIjMjJjOjJjFifiPjSjJjHjJjOjBjMfJhFnASzGjEjVjQiTjF\
jMTBEXzJjEjVjQjMjJjDjBjUjFUfVPfAnfnftJhGnABXzGjIjJjEjEjFjOVfVPfAnctfJhHnABXDfVT\
fBneUiTjUjSjJjDjIjMjJjOjJjFifiEjVjQjMjJjLjBjUfJhJnABXOfjzDjBjQjQWfnbfJhKnASzKjB\
jSjSifjCjFjGjPjSjFXCEjKfnfnftJhNnASzEjMjJjOjFYDEXzDjBjEjEZfXzJjQjBjUjIiJjUjFjNj\
TgafjGfnfnftJhOnAEXzNjTjFjUiFjOjUjJjSjFiQjBjUjIgbfVYfDRBEjzFiBjSjSjBjZgcfRCEjgc\
fRCFdAFdAftEjgcfRCFdjEFdAftftffJhPnABXzGjGjJjMjMjFjEgdfVYfDncffJhQnABXzHjTjUjSj\
PjLjFjEgefVYfDnctfJhRnABXzLjTjUjSjPjLjFiDjPjMjPjSgffVYfDXgffVPfAnfJhSnABXzLjTjU\
jSjPjLjFiXjJjEjUjIhAfVYfDXhAfVPfAnfJhTnABXSfVYfDAnnfJhUnABXDfVYfDneNiIjFjMjQjFj\
ShNiPjCjKjFjDjUfJhVnABXzIjTjFjMjFjDjUjFjEhBfVYfDnctfOhWbyhXn0ABJhXnAEjMfRBFekSi\
FjSjTjUjFjMjMjFhAjJjNhAjOjBjDjIjGjPjMjHjFjOjEjFjOhAiEjJjBjMjPjHhAjFjJjOjFjOhAjO\
jFjVjFjOhAiCjJjMjEjQjJjOjTjFjMhAhIiBjSjUjCjSjVjTjIhJhAjVjOjEhAjCjFjTjUnEjUjJjHj\
FhAjajXjFjJjNjBjMhAjNjJjUhAibiPiLidhOKiFjThAjTjJjOjEhAjLjFjJjOjFhAjXjFjJjUjFjSj\
FjOhAiFjJjOjTjUjFjMjMjVjOjHjFjOhAjOjPjUjXjFjOjEjJjHhOffACRjzQjTjIjPjXifjIjJjOjU\
ifjEjJjBjMjPjHhCfnndBnJhbnAEjzLjNjBjLjFifjBjDjUjJjPjOhDfnfJhdnAEXzFjTjMjFjFjQhE\
fjzBhEhFfRBFdjEffJhfnASzJjBjSjSifjBjGjUjFjShGEEjKfnfnftOiBbiCn0ACJiCnASzGjSjFjT\
jVjMjUhHFVhGfEnftaiEbyiFn0ABaiFbyiGn0ABOiGbiHn0ADJiHnAEXzGjTjQjMjJjDjFhIfVhHfFR\
CVzBjKhJfHFdBffJiInATzCjJjJhKGyBtDiJnAEtACzDhdhdhdhLQEfVhHfFVhJfHQEfVXfCVhKfGnn\
nAVhJfHAXIfVhHfFByBJAVhKfGAXIfVXfCByBJACJXIfVXfCXIfVhGfEnnbiQn0AHJiQnAEXzGjSjFj\
NjPjWjFhMfVYfDnfJiRnAEXhMfVTfBnfJiSnABXVfVPfAncffJiTnABXhBfVPfAnctfJiUnABjLfneh\
FiBjCjCjSjVjDjIhOhAiLjFjJjOhAjOjFjVjFjShAiQjJjOjTjFjMhAjWjPjSjIjBjOjEjFjOhOfJiV\
nAEjMfRBjLfffZiWnAnJiZnAEXzJjHjFjUiCjZiOjBjNjFhNfXgafjGfRBFeUiTjUjSjJjDjIjMjJjO\
jJjFifiEjVjQjMjJjLjBjUffJianAEXhMfVYfDnfJibnABXhBfVTfBnctfJicnASzGjBiCjSjVjTjIh\
OIQEfXFfjGfVhHfFnftJidnAEXzHjBjQjQjMjZiUjPhPfVhOfIRBVTfBffJienAEXzGjSjFjEjSjBjX\
hQfjWfnfJifnAEXzSjFjYjFjDjVjUjFiNjFjOjViDjPjNjNjBjOjEhRfjWfRBFeLjFjYjQjBjOjEiTj\
UjZjMjFffJjAnAEXhRfjWfRBFeHjVjOjHjSjPjVjQffJjBnAEXhRfjWfRBFeHjVjOjHjSjPjVjQffJj\
CnAEXhRfjWfRBFeFjHjSjPjVjQffJjDnABXDfXQfXOfjGfneMiFjJjOjajFjMjMjJjOjJjFjOfZjHnA\
nAJT4B0AiAhJ4H0AiAX4C0AiAY4D0AiAhO4I0AiAhG4E0AiAhK4G0AiAhH4F0AiAP40BiAAJAzEjNjB\
jJjOhSAjIMjLbyBn0AKJjMnASzIjNjZiBjDjUjJjPjOhTAneQjDjSjFjBjUjFiEjVjNjNjZiCjSjVjT\
jIftJjNnASzFjNjZiTjFjUhUBneQjDjSjFjBjUjFiEjVjNjNjZiCjSjVjTjIftJjPnASzXjDjVjSjSj\
FjOjUiJjOjUjFjSjBjDjUjJjPjOiMjFjWjFjMhVCXzUjVjTjFjSiJjOjUjFjSjBjDjUjJjPjOiMjFjW\
jFjMhWfjWfnftJjRnABXhWfjWfXzNiEiJiTiQiMiBiZiBiMiFiSiUiThXfjzUiVjTjFjSiJjOjUjFjS\
jBjDjUjJjPjOiMjFjWjFjMhYfnfJjSnASzJjBjDjUjJjPjOiTjUjShZDEXzEjKjPjJjOhafARhDFeKh\
PjWjFjSjTjJjPjOhAhTFeKhPjOjBjNjFhAibhAhRhWFehBJhWhThXhShWhVhWhRhXhUhWhVhUhUhXhV\
hWjEhWjEhXhZhUhShXhShXhVhXhThWhYFeBidFeJhPjJjTiPjQjFjOhAhRFeOhPjBjDjUjJjPjOiDjP\
jVjOjUhAhRFeLhPjBjDjUjJjPjOhNhRhAjbFeLJhPjOjBjNjFhAibhAhRhWFehCJJhWhThXhShWhVhW\
hRhXhUhWhVhUhUhXhVhWjEhWjEhXhZhUhShXhShXhVhXhThWhYFeCJidFeMJhPjLjFjZiJjOjEjFjYh\
AhQFeOJhPjDjPjMjPjSiJjOjEjFjYhAhQFeKJhPjJjTiPjQjFjOhAhRFeOJhPjFjWjFjOjUiDjPjVjO\
jUhAhRFeLJhPjFjWjFjOjUhNhRhAjbFegbJJhPjVjTjFiSjVjMjFjSjTiJjOhRjTjUiRjVjBjEjSjBj\
OjUhAhQFehBJJhPjJjOjUjFjSjOjBjMiOjBjNjFhAhIjBjJifjQjMjVjHjJjOifjCjSjVjTjIhJFeUJ\
JhPjMjPjDjBjMjJjajFjEiOjBjNjFhAibhAhWFePJJJhVhQhWhZhWjFhXhThWhVhWjDFeDJJidFeLJJ\
hPjJjTiPjQjFjOhAhRFeJJJhPjJjTiPjOhAhRFeOJJhPjIjBjTiEjJjBjMjPjHhAhQFeTJJhPjQjBjS\
jBjNjFjUjFjSiDjPjVjOjUhAhRFeQJJhPjQjBjSjBjNjFjUjFjShNhRhAjbFeSJJJhPjLjFjZhAhRhY\
hThVhThWhThZhVhXFeUJJJhPjTjIjPjXiJjOiQjBjMjFjUjUjFhAhNhRFeVJJJhPjUjZjQjFhAhIjFj\
OjVjNjFjSjBjUjFjEhJFeNJJJhPjOjBjNjFhAibhAhRhSFegcJJJJhUjFhWhVhXhVhWhVhXhShShQhV\
hQhWhZhWjFhXhThWhVhWjDFeEJJJidFeLJJJhPjWjBjMjVjFhAhRFeDJJjdFeCJjdFeBjdfRBFeBKff\
nftJkXnAEjzMjDjSjFjBjUjFiBjDjUjJjPjOhbfRBVhZfDffJkYnAEXzIjEjPiTjDjSjJjQjUhcfjWf\
RDVhTfAVhUfBFcfffJkZnAShZDnbffJkanAEXzMjVjOjMjPjBjEiBjDjUjJjPjOhdfjWfRCVhUfBFeA\
ffJkbnABXhWfjWfVhVfCnfAEhT40BiAhU4B0AiAhV4C0AiAhZ4D0AiAAEAhDAkcMkebyBn0AGJkfnAS\
zBjGheAEjzEiGjJjMjFhffRBFeWjehPjDjSjFjBjUjFiEjVjNjNjZiCjSjVjTjIhOjBjJjBftnftJlA\
nAEXzEjPjQjFjOiAfVhefARBFeBjXffJlBnAEXzFjXjSjJjUjFiBfVhefARBVzDjTjUjSiCfBffJlCn\
AEXzFjDjMjPjTjFiDfVhefAnfJlDnAEXzKjMjPjBjEiBjDjUjJjPjOiEfjWfRBVhefAffJlEnAEXhMf\
VhefAnfAChe40BiAiC40BhABBAhbAlFCJAnASLyBnegfiBjCjCjSjVjDjIhOhAiLjFjJjOhAjPjGjGj\
FjOjFjThAiEjPjLjVjNjFjOjUhOftOBbCn0ACJCnASGyBXzOjBjDjUjJjWjFiEjPjDjVjNjFjOjUiFf\
jWfnftJDnAEjhSfnfACzBheiGXIfXzJjEjPjDjVjNjFjOjUjTiHfjWfnndAbyFn0ABJFnAEjMfRBVLf\
yBffACL40BiAG4B0AiAACAEByB""");

 

Falls jemand eine Möglichkeit findet, die für die Pinselerstellung notwendigen Dialogfelder zu unterdrücken, dann bin ich weiterhin für jeden Ratschlag offen.

Kurt Gold
Community Expert
Community Expert
December 26, 2021

Bad news, pixxxelschubser.

 

I rummaged through my actions archive, but didn't find the action I thought I once created. Perhaps I have never created it or perhaps it is just lost in an unknown abyss.

 

Now, the good news.

 

This time the reindeer wasn't there, but instead a young raven knocked at my window yesterday and gave me a walnut. I cracked it and – lo and behold! – there was an action inside the nut.

 

"This action is not perfect", said the raven. "It usually may produce pretty clean results if you do not select too many dashed objects at the same time. Also, unlike the Art Brush route it usually does not produce tons of useless tiny chunk objects which have to be wiped away afterwards. And it preserves different stroke colours, in case that does matter here as well."

 

So far, I haven't checked if the entire story may be true or just flim-flam. However, you can download the approach here:

 

Dash Nipper

 

The .zip file contains a sample Illustrator file and an action set file.

 

- Open the sample Illustrator file
- In the Actions palette import the .aia file
- Select a dashed object and run the action

 

Let me know if this may be a suitable way for you.

 

Important note: Due to an Illustrator rounding error bug when writing the Preferences files, it may be that the action won't work after quitting and restarting Illustrator. In that case, unfortunately, you will have to delete the action set in the Actions palette and then reimport it. After that, it should work again.

 

Kurt Gold
Community Expert
Community Expert
December 24, 2021

Oh, please ignore the nipper action, pixxxelschubser.

 

It does not work as it is supposed to work. I took the wrong files.

 

I'm pretty sure that I have an action that works. Will have a look next week.