renél80416020
Advocate
renél80416020
Advocate
Activity
Mar 03, 2025
03:01 AM
@Xander36210402r7ns - Pour utiliser découper le objets inférieurs on sélectionne uniquement le trait de découpe. - Pour utiliser le cutter, il faut sélectionner tous les objets à couper. Pour couper selon un tracé rectiligne, appuyez sur la touche Alt (Windows) ou Option (Mac OS) tout en cliquant sur le plan de travail avec l’outil Cutter, puis faites glisser le pointeur, ajouter la touche MAJ pour contraindre la direction horizontale. Ces deux méthodes fonctionnent uniquement si les objets ont un fond. (objets groupés ou pas et même situés dans des calques différents) Voir la solution B de @Jacob Bugge René
... View more
Feb 26, 2025
05:25 AM
@Flint Fine Art schrieb:
It is difficult to get an svg out of Illustrator without paths distorting.
Set the decimals to a higher value.
... View more
Feb 25, 2025
03:36 AM
Bonjour à tous, Cette histoire de spirale m'a fait repenser à un script qui date du temps de win98, Illustrator CS. polaire.js Qui trace des courbes en coordonnées polaires dans le calque actif. Centrées par rapport à l'origine des règles globales (à vous de placer l'origine au centre du plan de travail). l'équation de la spirale d'Archimède (r = a*t) Dans le script, j'ai validé la ligne 16 qui contient tous les paramètres pour cette courbe, vous pourrez tester les deux autres exemples. Une fois la courbe tracée, vous pouvez appliquer la commande Objet > Tracé > simplifier 90% Amusez vous René /*----------------------------------------
polaire.js
Auteur Landry René
Tue, 24 February 1998 10:44:49 GMT
Trace des courbes en coordonnees polaires dans le calque actif.
A l'origine des règles globales.
*/
// initialisation-------------------------------------------------
var equa = "Math.cos(t*3)/b"; // Equation variable t
var b = 0.8;
var min = 0;
var max = Math.PI;
var pas = Math.PI/90;
var ech = 80; // facteur d'échelle
//var equa = "t*t"; var min = 0; var max = 4*Math.PI ; var ech = .8; var pas =Math.PI /90;
var A = 1;var equa = "A*t"; var min = 0; var max = 50*Math.PI ; var ech = 3; var pas =Math.PI /90;
var fermeContour = false; //contour ferme oui non
var epaisseurContour = 2;
var couleurContour = macmykColor(0,75,100,0);; // Citrouille
var fondCouleur = true; //couleur du fond oui non
var couleurFond = macmykColor(25,10,0,0);
var couleurRep = macmykColor(88,77,0,0);
var axeOption = true; //axes x oui non
//-----------------------------------------------------------------
function axe (axe,p1,p2)
{ //crée un axe
axe.strokeWidth = 0.75 //épaisseur du contour;
axe.strokeColor = couleurRep;
axe.filled = false;
axe.setEntirePath([p1,p2]);
return axe;
}
//----------------
function cal(t,equa) {
return eval(equa);
}
//----------------
function fleche (fl,l,t,orientation,couleur)
{ //crée 1 flèche > ou ^
var ret, dl, dh;
ret = 3.5; dl = 12; dh = 15;
with(fl) {
fillColor = couleur;
stroked = false;
closed = true;
if (orientation == 0) {
setEntirePath([[0,0],[-ret,dl/2],[dh,0],[-ret,-dl/2]]);
l -= ret; t += dl/2;
}
else {
setEntirePath([[0,0],[-ret,dl/2],[dh,0],[-ret,-dl/2]]);
l -= dl/2; t += dh;
}
rotate(orientation);
position = [l,t];
}
return fl;
}
//----------------
function macmykColor(c,m,y,k)
{ //cree une nouvelle couleur CMJN
var cmykColor = new CMYKColor();
cmykColor.cyan = c;
cmykColor.magenta = m;
cmykColor.yellow = y;
cmykColor.black = k;
return cmykColor;
}
//----------------
function pointSuivant(x,y,ligne)
{//Ajoute un point à une ligne
var newPoint = ligne.pathPoints.add();
newPoint.anchor = [x, y];
newPoint.leftDirection = newPoint.anchor;
newPoint.rightDirection = newPoint.anchor;
newPoint.pointType = PointType.CORNER;
}
//----------------
function main() {
if (!documents.length) {
alert("Pour l'exécution de ce sript un document doit être ouvert !");
return
}
var doc = activeDocument;
var layer = doc.activeLayer;
if (layer.locked) {
alert("Calque verrouillé","Alerte De elleere");
return;
}
if (layer.visible == false) layer.visible = true;
var ligne = layer.pathItems.add();
with(ligne) {
name = "r = f(t)"+equa;
stroked = true; // contour
strokeWidth = epaisseurContour; //épaisseur du contour;
strokeColor = couleurContour;
if (fondCouleur) {
fillColor = couleurFond;
}
else {
filled = false;
}
//ferme le contour option
if (fermeContour) closed = true;
}
//----------------------------------------
var nbSeg = Math.ceil((max-min)/pas);
var t = min, x, y;
for (var point = 1; point <= nbSeg+1; point ++) {
x = cal(t,equa)*Math.cos(t);
y = cal(t,equa)*Math.sin(t);
pointSuivant(x*ech, y*ech,ligne);
//if (point == nbSeg) t = max else t += pas;
t = point == nbSeg ? t = max : t += pas;
}
//trace les axes + fleches option
if (axeOption) {
repereGroup = layer.groupItems.add();
repereGroup.name = "repere";
var axeX = repereGroup.pathItems.add();
var axeY = repereGroup.pathItems.add();
var flh = repereGroup.pathItems.add();
axeX = axe(axeX,[-200,0],[200,0]);
flh = fleche(flh,200,0,0,couleurRep);
}
}
//-----------------------------------------
main();
... View more
Feb 18, 2025
08:15 AM
Thanks bro, I like Illustrator and even more the scripts help a lot but I'm still not at your level to program. 😉
... View more
Feb 13, 2025
10:20 PM
Yes it is - Double click the Eyedropper tool and then checkbox enable all the appearance settings
... View more
Feb 13, 2025
06:49 AM
Thank you so much, that did it! You just saved me hours and hours of tedious work.
... View more
Jan 03, 2025
02:15 PM
Merci Kurt pour votre poste, Par script on peut obtenir le résultat suivant, les croix sont des groupes composés de 2 traits, elles sont elles mêmes groupées. Mais on peut les remplacer par un symbole.
... View more
Jan 03, 2025
01:46 AM
Bonjour, Je ne vois pas où est le problème ? René
... View more
Dec 18, 2024
04:01 AM
Bonjour @Kurt Gold , c'est un mélange des deux. J'essais de poster le contenue d'un fichier svg (html) <?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="595.28px" height="841.89px" viewBox="0 0 595.28 841.89" style="enable-background:new 0 0 595.28 841.89;"
xml:space="preserve">
<polyline style="fill:none;stroke:#E62337;stroke-width:2;stroke-miterlimit:10;" points="176.11,643.14 84.29,643.14 72.65,630.92
205.26,630.92 230.89,618.7 67.23,618.7 65.62,606.48 253.82,606.48 274.71,594.26 67.16,594.26 71.6,582.04 293.12,582.04
309.65,569.82 78.95,569.82 89.58,557.61 324.7,557.61 338.68,545.39 104.88,545.39 131.65,533.17 351.55,533.17 362.81,520.95
161.04,520.95 186.01,508.73 372.69,508.73 381.93,496.51 204.91,496.51 221.63,484.29 390.36,484.29 397.68,472.07 234.94,472.07
246.03,459.85 403.87,459.85 409.15,447.63 254.21,447.63 260.4,435.41 413.65,435.41 417.27,423.19 263.93,423.19 265.73,410.97
420.12,410.97 422.19,398.75 265.24,398.75 263.71,386.53 423.45,386.53 423.95,374.31 259.95,374.31 255.28,362.09 423.48,362.09
421.82,349.88 249.95,349.88 243.92,337.66 419.12,337.66 415.98,325.44 237.29,325.44 230.14,313.22 412.4,313.22 408.18,301
222.48,301 214.42,288.78 403.13,288.78 397.47,276.56 205.78,276.56 196.92,264.34 391.18,264.34 384.32,252.12 187.98,252.12
178.95,239.9 376.96,239.9 369.15,227.68 169.92,227.68 160.96,215.46 361.02,215.46 352.63,203.24 152.16,203.24 143.58,191.02
344,191.02 335.18,178.8 135.26,178.8 127.24,166.58 326.25,166.58 317.25,154.37 119.62,154.37 112.42,142.15 308.25,142.15
299.32,129.93 108.46,129.93 108.7,117.71 290.51,117.71 282.05,105.49 111.76,105.49 117.44,93.27 274.15,93.27 266.68,81.05
126.26,81.05 138.97,68.83 258.93,68.83 248.02,56.61 157.96,56.61 "/>
</svg> Afficher le dans Illustrator ou sur un navigateur, on a du mal à voir qu'il s'agit d'un seul tracé...
... View more
Dec 15, 2024
11:59 AM
That does not exist in Illustrator on the iPad.
... View more
Dec 02, 2024
05:01 PM
Hi Jacob, in point #1 you say to type the character 4. The character "4" of my use case was created by tracing a font with the pen tool. The same operation was done for the other font that intersects with the first. Then I used the patfinder tool to intersect the elements. In the end I obtained two distinct objects. My level of familiarity with the pen tool, from 1 to 10 is 1.5, so please do not ask me to draw the elements again. I attach a screenshot that shows a composition similar to the result I need to achieve. I'm sorry if I couldn't be more precise. In previous posts I said that I want to assign the transparent color to the space highlighted also in the screenshot below because I want to be able to adapt the image to any background color. Many thanks Arturo
... View more
Dec 01, 2024
12:27 PM
Bonjour, Tracez 4 traits dont deux alignés sur les coins du carré. Sélectionnez les 4 lignes. Dans Alignement choisir Distribution horizontale de l’espace avec l'option aligner sur une sélection cochée. René
... View more
Nov 29, 2024
03:25 PM
In CMYK yes there is .1 increment
... View more
Nov 24, 2024
11:12 PM
Hi, now i have this error 😞
... View more
Nov 20, 2024
03:17 PM
PNGs are RGB files, bringing them into a CMYK Illustrator document will convert them to CMYK.
This should work (and it does on my and other machines), but it is worth trying if Photoshop RGB files give the same result on your machine.
... View more
Nov 20, 2024
09:12 AM
Great script! For advanced text manipulation or working with hidden text, you can also explore Text Invisible—a handy tool for such tasks. Let me know if you'd like details!
... View more
Nov 20, 2024
01:12 AM
Je voulais parler du conseil suivant: "Ne tracez pas de contours dans le texte." "Do not Outline the text." René
... View more
Nov 12, 2024
04:21 AM
@m1b I AM SENDING A PDF WITH A MARKING OF WHICH PAGE IS GOOD FOR ME AND WHICH IS BAD (SORRY FOR MY ENGLISH and caps lock) As I wrote earlier, I simply want my script for inserting registration marks to be able to recognize when a given group of objects is rotated 180 degrees relative to another one of the same dimension/size and give it a different number even if the original design was saved outside Illustrator and does not have any metadata.
... View more
Nov 11, 2024
11:45 AM
here you go, I added setting a dataset to my previous script
// cycle through DataSet variables
// https://community.adobe.com/t5/illustrator-discussions/script-access-to-variables-and-datasets/m-p/14971636#M426387
var idoc = app.activeDocument;
var vars = idoc.variables;
for (a=0; a<idoc.dataSets.length; a++) {
idoc.activeDataSet = idoc.dataSets[a];
for (j=0; j<vars.length; j++) {
//$.writeln(vars[j].name + ' : ' + vars[j].pageItems[0].contents);
alert(vars[j].name + ' : ' + vars[j].pageItems[0].contents);
}
}
... View more
Nov 10, 2024
02:17 AM
@renél80416020Thanks for the comments, indeed one operator turns out to be unnecessary, forcing the for loop to run unnecessary times in the case of multiple outer groups. However, the compound path type is a separate type and it was not necessary to “parse” it. Also, note that the line `selection = null` should be followed with redraw otherwise it will not work correct.
... View more
Nov 08, 2024
10:09 PM
I spent some time learning about the regex search pattern options once RobOctopus pointed me in the right direction. At some point I tried the 1,2 but I had it as [1,2] and never got it to resolve. The best I came up with was (/^XX T\d+$/g) but now with your help I can see I can use the ( /$) to include the space at the end ... and much more importantly limit the pattern to only two digits. Much appreciated.
... View more
Nov 07, 2024
01:40 PM
Bonjour, Je ferais comme l’indique @Jacob Bugge en (1) et j’utiserais l’outil cutter sur l’arbre pour le couper en deux parties. 0 verrouiller tous les rectangles et placer un repère à la jonction des petits rectangles vert et blanc. 1 Objet > Associer 2 Objet > décomposer... 3 Pathfinder > union 4 Mise en place de l’arbre 5 Utiliser l’outil cutter à la jonction des rectangles vert et blanc. (touches <MAJ> + <ALT> pour contraindre) 6 Changer la couleur de la pointe de l’arbre en blanc. René
... View more
Nov 06, 2024
09:41 PM
Bonjour René, Genius! Thankyou. It didn't work straight away but I googled how to use this function and worked it out. I hid all the layers that I didn't want to include and then did the Pathfinder > Divide. Then erased areas that I didn't need. Merci beaucoup Jac
... View more
Nov 03, 2024
01:39 PM
Thanks for the clarification, René. I thoughtlessly or hastily tried it with a selection that contained at least one single grouped PathItem. That obviously did not work.
Sorry for the confusion.
... View more
Oct 24, 2024
04:42 AM
hello, the baselinePosition property seems not working on my character, while using $.writeln() showed the change of it. textFrame.textRange.characters[Index].characterAttributes.openTypePosition = FontOpenTypePositionOption.OPENTYPESUPERSCRIPT
... View more
Oct 24, 2024
01:19 AM
1 Upvote
Voici ma version faite pour l'occasion. // JavaScript Document
// pos masque 4 test plus.js
// Author Landry René elleere@aliceadsl.fr
// Wed, 23 October 2024 11:02:00 GMT
// Place les objets sélectionnés en haut et au centre du plan de travail actif
// Places the selected objects at the top and center of the active artboard
// Contours or not to be taken into account (variable visibleBds)
/*Note: If the variable AdjustMask = true the framing is done on the masked object
false The clipping group. */
// INIT -------
var visibleBds = true; // alignment mode visibleBounds or geometricBounds
var AdjustMask = true; // Adjust masks
var entourRect = false; // draws an ungrouped frame around the object
// ------------
var result = false;
var res = "dialog { orientation: 'column', alignChildren: 'right', \
info: Group { orientation: 'column', alignChildren: 'left', \
text: 'Choice of mode:', \
modeType: Group { orientation: 'column', alignChildren: 'left', margins: 8, \
rbtn1: RadioButton { text: 'GeometricBounds'}, \
rbtn2: RadioButton { text: 'VisibleBounds'}, \
ajkbox: Checkbox { text: 'Adjust masks?'}, \
}, \
} \
buttons: Group { orientation: 'row', \
ok: Button { text: 'OK', properties:{name:'ok'} }, \
} \
}";
var win = new Window(res);
win.frameLocation = [100,150];
win.text = "TopCenter de LR";
win.info.modeType.rbtn1.value = !visibleBds;
win.info.modeType.rbtn2.value = visibleBds;
win.info.modeType.ajkbox.value = AdjustMask;
win.buttons.ok.onClick = function() {
visibleBds = win.info.modeType.rbtn2.value;
AdjustMask = win.info.modeType.ajkbox.value;
result = true;
win.close();
}
win.show();
// -------
if (result){
var doc = activeDocument,
Origin = doc.rulerOrigin,
hautDoc = doc.height,
origX = -Origin[0],
origY = -Origin[1]+hautDoc,
objRef,
dxy,
tabs,
mask,
VG,
selg,
sel = selection;
for (var j = 0; j < sel.length; j++){
mask = false;
objRef = sel[j];
if (objRef.guides) continue;
tabs = [];
if (objRef.typename == "GroupItem" && AdjustMask) {
selg = objRef.pageItems;
detectclippingInGrp(selg,tabs);
}
VG = visibleBds ? objRef.visibleBounds : objRef.geometricBounds;
if (tabs.length > 0 && mask) {
getCadre(VG,tabs);
}
dxy = TopCenter(VG,origX,origY);
// -------
objRef.translate(dxy[0],dxy[1]);
objRef.selected = false;
if (entourRect) {
var cadre= enCadre(doc,VG,4);
cadre.translate(dxy[0],dxy[1]);
}
}
}
// -------
function TopCenter(v,X,Y) {
var dx = X - v[0] + (activeDocument.width-(v[2]-v[0]))/2,
dy = Y - v[1];
return [dx,dy];
}
// -------
function getCadre(VG,tabs) {
var xmin, ymin, xmax, ymax, vi;
xmin = ymin = Infinity;
xmax = ymax = -Infinity;
for (var i = 0; i < tabs.length; i++){
vi = visibleBds ? tabs[i].visibleBounds : tabs[i].geometricBounds;
xmin = Math.min(vi[0],xmin);
ymax = Math.max(vi[1],ymax);
xmax = Math.max(vi[2],xmax);
ymin = Math.min(vi[3],ymin);
}
if (VG[0] < xmin) VG[0] = xmin;
if (VG[1] > ymax) VG[1] = ymax;
if (VG[2] > xmax) VG[2] = xmax;
if (VG[3] < ymin) VG[3] = ymin;
}
// -------
function detectclippingInGrp (grp,tabs){
// Global variable mask
var item;
for(var i = 0; i < grp.length; i++){
item = grp[i];
if (item.clipping) {tabs.push(item); mask = true; return;}
if (item.typename == "GroupItem") {
if (item.clipped) {
tabs.push(item.pageItems[0]); mask = true; // alert('clipping');
}
else {detectclippingInGrp(item,tabs);}
}
else tabs.push(item);
}
}
// -------
function enCadre(doc,VG,color){
var cadre = doc.pathItems.rectangle(VG[1],VG[0],VG[2]-VG[0],VG[1]-VG[3]);
cadre.filled = false;
//cadre.selected = true;
cadre.stroked = true;
cadre.strokeWidth = 2;
cadre.strokeColor = doc.swatches[color].color;
return cadre;
}
// ------- Moins complète que la votre @jduncan ... René
... View more
Oct 22, 2024
04:14 AM
Bonjour René 🙂 Je ne m'explique pas trop le souci. Probablement avez vous raison… Merci.
... View more
Oct 14, 2024
03:37 AM
Not the easiest way, but for PC users, we can launch the Document Setup window with app.executeMenuCommand("document") and then run a VBScript that emulates keystrokes to select units from the drop down list.
... View more