renél80416020
Advocate
renél80416020
Advocate
Activity
Jul 23, 2018
10:14 AM
1 Upvote
Pour vous servir :
// JavaScript Document
#target illustrator
app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;
var closed = true;
function imprimtous(){
var i, d;
for(i = app.documents.length-1; i>-1; i--) {
d = app.documents[i];
d.print();
if (closed) {
if (!d.saved) d.close(SaveOptions.SAVECHANGES);
else d.close(SaveOptions.DONOTSAVECHANGES);
}
}
}
imprimtous();
de elleere
... View more
Jul 23, 2018
03:42 AM
1 Upvote
Pardon de répondre en français, - utiliser l'extension .jsx (imprimtous.jsx) - Pour le faire apparaitre dans la liste des scripts Sous Windows 7 64bits et la version CS6, C:\Program Files\Adobe\Adobe Illustrator CS6 (64 Bit)\Presets\fr_FR\Scripts elleere
... View more
Jul 22, 2018
10:10 AM
2 Upvotes
Salut !
// JavaScript Document
#target illustrator
app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;
function imprimtous(){
for(var i = app.documents.length-1; i>-1; i--) {
app.documents[i].print();
}
}
imprimtous();
de elleere
... View more
Jun 12, 2018
01:26 AM
Bonjour, J'ai déjà fait ce genre de script. Il me faudrait un modèle enregistré pour la version CS6. (.ai) (on peut aussi charger un fichier .txt ou CSV contenant les données) Cordialement elleere
... View more
May 24, 2018
12:41 PM
1 Upvote
Oui j'ai maintenant compris... Une proposition, échanger lignes 15 16, 17 18 // JavaScript Document for Illustrator var docSel = activeDocument; docSel.rulerOrigin = [0,0]; var docSelSel = docSel.selection[0]; var c1 = centreObj(docSelSel); docSel.rulerOrigin = c1; var newGroup = docSel.groupItems.add(); newGroup.name = "fibonacci"; var r, t, f, l, newSel; l = docSelSel.width+docSelSel.width*2;; for (var i=1; i<1200;i++) { r = 13*Math.sqrt(i); //10 12 t = 137.5*Math.PI/180*i; newSel=docSelSel.duplicate(newGroup); f = ((l/newSel.width )+100+Math.sqrt(i)*1.2) ; f = 100+Math.sqrt(i)*1.2; newSel.resize( f-Math.sqrt(i),f-Math.sqrt(i),true,true,true,undefined,f,Transformation.CENTER ); //newSel.resize( f,f,true,true,true,undefined,f,Transformation.CENTER ); newSel.translate(r*Math.cos(t),r*Math.sin(t)); newSel.resize( f,f,true,true,true,undefined,f,Transformation.DOCUMENTORIGIN ); l = newSel.width; } docSelSel.remove(); //---------------- function centreObj(objet) { var rect = objet.geometricBounds; return [(rect[2]+rect[0])/2,(rect[1]+rect[3])/2]; }
... View more
May 24, 2018
12:26 PM
Bonjour, adjust the script to accommodate that. ? Je ne suis pas certain d'avoir bien compris. // JavaScript Document for Illustrator var docSel=app.activeDocument; var rapH = 0.20; var rapV = 0.20 var propDiff = (rapH+rapV)/2; var T = Transformation.CENTER; var docSel = activeDocument; var docSelSel =docSel.selection[0]; var newGroup = docSel.groupItems.add(); newGroup.name = "fibonacci"; var r, t, newSel; for (var i=1; i<120;i++) { r=10*Math.sqrt(i); t=137.5*Math.PI/180*i; newSel=docSelSel.duplicate(newGroup); newSel.translate(r*Math.cos(t),r*Math.sin(t)); } newGroup.resize(rapH*100,rapV*100,true,true,true,undefined,propDiff*100,T); docSelSel.remove();
... View more
May 15, 2018
09:02 AM
2 Upvotes
Sous Windows et CS6. C:\Program Files (x86)\Adobe\Adobe Utilities - CS6\ExtendScript Toolkit CS6\SDK\Samples\javascript Bon courage René
... View more
May 11, 2018
09:30 AM
1 Upvote
Bonjour, C'est normal, il faut agir sur le cadre du texte : TextPath A path or list of paths for area or path text. A path consists of path points that define its geometry. en JavaScript : // tu as écrit set the width of myFrame to 300 identique à areaText.width = 300 areaText.textPath.width = 300;
... View more
May 06, 2018
01:04 AM
1 Upvote
Bonjour, Essaie Affichage > Afficher le damier de transparence
... View more
May 01, 2018
03:55 AM
2 Upvotes
Bonjour, une approche parmi d'autres. // JavaScript Document for Illustrator // import_ai.js de elleere Tue, 1 May 2018 10:54:47 GMT var docRef = activeDocument; var fsName = "sample.ai"; var fileSpec = new File("~/"+fsName); var placed = app.open(fileSpec); for (var i = 0; i < placed.pageItems.length; i++ ) { placed.pageItems.selected = true; } docSelected = selection; docRef.activat; if (docSelected) { layer = docRef.layers.add(); layer.name = fsName; for ( i = 0; i < docSelected.length; i++ ) { docSelected.selected = false; newItem = docSelected.duplicate(layer); } } placed.close(SaveOptions.DONOTSAVECHANGES);
... View more
Apr 29, 2018
03:00 AM
Je verrais plutôt ça. var searchStr = /\s+$/gi; var aCon = app.activeDocument.textFrames[0].contents.replace (searchStr, ''); app.activeDocument.textFrames[0].contents = aCon; LR
... View more
Apr 26, 2018
02:44 AM
1 Upvote
Pour convertir tous les plans de travail dans des fichiers différents, Remplace la ligne 17 par : var doc = activeDocument; var nbPage = doc.artboards.length; for (var i = 0; i < nbPage; i ++) { doc.artboards.setActiveArtboardIndex(i) fileSpec = new File("~/essai_PNG24 "+i+".png "); doc.exportFile( fileSpec, type, exportOptions ); }
... View more
Apr 26, 2018
01:21 AM
Bonjour, Je n'ai peut être pas tout compris ? (problème de traduction) Je propose tout de même un script simple pour tester... // JavaScript Document de elleere // Exporte le document ouvert au format PNG24 avec les options spécifiées // Seul le plan de travail actif est sauvegardé if ( app.documents.length > 0 ) { var exportOptions = new ExportOptionsPNG24(); var type = ExportType.PNG24; var fileSpec = new File("~/essai_PNG24.png"); exportOptions.antiAliasing = true; exportOptions.transparency = false; exportOptions.matte = true; //white par défaut matteColor //exportOptions.matteColor = spécifier une couleur //exportOptions.saveMultipleArtboards = true; exportOptions.artBoardClipping = true; exportOptions.horizontalScale = 100; exportOptions.verticalScale = 100; exportOptions.saveAsHTML = true; app.activeDocument.exportFile( fileSpec, type, exportOptions ); }
... View more
Apr 25, 2018
10:46 AM
2 Upvotes
Bonjour, Je ne vois pas l'utilité des accolades { } // JavaScript document for Illustrator // elleere Wed, 25 April 2018 17:39:04 GMT // INIT--------- var c1 = "^"; var c2 = "_"; var text = "2^2.5 + b^2 = 5 C_12^2 sin(20^3)"; // cas 1 //var text = "2^2.5 + b^2 = 5 C^2_12 sin(20^3)"; // cas 2 sauf si toujours 1 chiffre var corps = 16; //------------- var docRef = activeDocument; var pointText = docRef.textFrames.add(); pointText.contents = text; pointText.position = [20,-20]; pointText.textRange.characterAttributes.size = corps; //expo_indice(pointText,c1,1); // si cas 2 expo_indice(pointText,c2,0); expo_indice(pointText,c1,1); // si cas 1 //-------------- function expo_indice(textRf,rx,drap) { var index, pos, i, r, curentChar, suit, baseline; baseline = drap ? FontBaselineOption.SUPERSCRIPT : FontBaselineOption.SUBSCRIPT; pos = index = textRf.contents.indexOf(rx); suit = textRf.contents; while (pos != -1) { suit = suit.substring(pos+1); r = parseFloat(suit)+""; //r = drap ? parseFloat(suit)+"" : "1"; // si toujours 1 chiffre for (i = 1; i <= r.length; i++) { curentChar = textRf.textRanges[index+i]; curentChar.baselinePosition = baseline; } textRf.textRanges[index].remove(); pos = suit.indexOf(rx); index += pos; } } //-------------- de LR
... View more
Mar 22, 2018
02:25 AM
1 Upvote
Bonjour, J'ai réalisé le script qui fait le travail demandé, //---------------------- So basically, my action should do the following. 1. Change stroke color of my drawn item to the value of the hex color 2. Save and name according to the color name (RAL 1000...) Repeat 190 times according to the 190 lines of my excel spreadsheet. //-------------------- J'aimerais recevoir par mail un exemple de fichier excel et ai pour test réel. Si cela est possible. de LR
... View more
Mar 20, 2018
03:05 AM
2 Upvotes
bonjour, avec ? var text1 = layerText.textFrames.add(); text1.contents = son ; text1.top = -50; text1.left = 50;
... View more
Mar 17, 2018
02:08 PM
4 Upvotes
Bonjour, Gaz factory Un peu d'ordre ne fait pas de mal ! // JavaScript Document for Illustrator // elleere Sat, 17 March 2018 20:39:43 GMT var doc = app.activeDocument; if ( app.documents.length > 0 ) { var destFolder = null; destFolder = Folder.selectDialog( 'Sélectionner le dossier des fichiers DXF.', '~' ); if (destFolder != null) { var options = getOptions(); var type = ExportType.AUTOCAD; var fileSpec = new File(destFolder+"/"+doc.name+".dxf"); // "~/essai.dxf" doc.exportFile( fileSpec, type, options ); } } //-------- function getOptions() { var exportOptions = new ExportOptionsAutoCAD(); exportOptions.exportFileFormat = AutoCADExportFileFormat.DXF;//DWG DXF exportOptions.exportOption = AutoCADExportOption.PreserveAppearance; exportOptions.version = AutoCADCompatibility.AutoCADRelease14; exportOptions.exportSelectedArtOnly = true; //export selected objects true exportOptions.convertTextToOutlines = false; exportOptions.generateThumbnails = true exportOptions.unit = AutoCADUnit.Millimeters; return exportOptions; } de elleere
... View more
Mar 16, 2018
06:50 AM
Sylvio, Je veux bien t'aider mais il faut me faire parvenir un document .ai avant et après transformation, avec les explications utiles par mail. (voir Photo) Pour travailler en situation réelle. A+
... View more
Mar 16, 2018
03:26 AM
Bonjour, Je n'utilise pas (copy\paste) mais un text placé au premier plan reconnu par le symbole @. ce text peut comporter plusieurs lignes pour des remplacements successifs. Remplacer le chien par le loup Comme : @le chien:le loup la vache:la chêvre .... - J'ai simplement ajouté pour l'occasion 5 lignes à un script existant que je fourni à des clients, ce qui explique [i+4], ces lignes commencent par curentChar . Ce script peut remplacer des groupes de mots par d'autres groupes en conservant le style du texte d'origine pour tous les documents ouverts. Je donne juste le principe : index = textRf.contents.search(RegExp(rx,drap)); if (index != -1) { fg = new RegExp(rx).exec(textRf.contents); ip = textRf.insertionPoints[index]; for(i = 0; i < ch.length; i++) { ip = textRf.insertionPoints[index]; ip.characters.add(ch.charAt(i)); curentChar = textRf.characters[index]; curentChar.textFont = text.characters[i+4].textFont; curentChar.size = text.characters[i+4].size; curentChar.fillColor = text.characters[i+4].fillColor; curentChar.baselineShift = text.characters[i+4].baselineShift; index++; }
... View more
Mar 15, 2018
02:52 PM
1 Upvote
Bonjour, Il faut utiliser : textRf.insertionPoints[index]; caractère par caractère... Ici je remplace des par H2S04 formaté size font color
... View more
Mar 13, 2018
03:00 AM
Bonjour Briank, Très bien ! https://share.orange.fr/#nww74WiboG1e5790991b Pdf Hybride (ouvrir dans Illustrator CS6 et pus) Je peux résoudre le problème de couleurs aléatoires (contacte moi par mail) // JavaScript Document pour Illustrator // elleere Tue, 13 March 2018 09:43:12 GMT // sélectionnez un ou plusieurs objets var plageAg = [90,180,270,360]; //------------------------------ var d = activeDocument; if (selection.length) { var mySel = selection; d.selection = null; var objet; for (var j = 0; j < mySel.length; j++) { objet = mySel ; rotationObjet(objet,plageAg); } } function rotationObjet(obj,tab) { // faire tourner obj angle plage tab de façon aléatoire var rang = Math.round(Math.random()*(tab.length-1)); var angle = tab[rang]; obj.rotate(angle,true,undefined,false,false,Transformation.CENTER); //redraw(); }
... View more
Mar 12, 2018
07:15 AM
2 Upvotes
Bonjour, // JavaScript Document pour Illustrator // elleere Mon, 12 March 2018 14:12:22 GMT // sélectionnez un objet var plageAg = [90,180,270,360]; //------------------------------ var d = app.activeDocument; if (selection.length) { var objet; var liste = ""; for (var i = 0; i < 60; i++) { for (var j = 0; j < selection.length; j++) { objet = selection ; rotationObjet(objet,plageAg); } // boucle pour ralentir l'affichage for (var k = 0; k < 125625; k++) { var t = Math.sqrt(2.0565*k/45); } } createListeText = d.textFrames.pointText([50,-30]); createListeText.contents = liste; } function rotationObjet(obj,tab) { // faire tourner obj angle plage tab de façon aléatoire var rang = Math.round(Math.random()*(tab.length-1)); var angle = tab[rang]; liste += angle+"\r"; obj.rotate(angle,true,undefined,false,false,Transformation.CENTER); redraw(); }
... View more
Mar 11, 2018
01:56 AM
1 Upvote
Bonjour, Je peux réaliser des scripts sur demande avec explications détaillées par mail. Je te donne une solution pour la rotation... // JavaScript Document pour Illustrator // elleere Sun, 11 March 2018 09:40:58 GMT // sélectionnez un objet var plageAg = [90,180,270,360]; //------------------------------ var d = app.activeDocument; if (selection.length) { var objet = selection[0]; var liste = ""; for (var i = 0; i < 60; i++) { rotationObjet(objet,plageAg); // boucle pour ralentir l'affichage for (var k = 0; k < 125625; k++) { var t = Math.sqrt(2.0565*k/45); } } createListeText = d.textFrames.pointText([50,-30]); createListeText.contents = liste; } function rotationObjet(obj,tab) { // faire tourner obj angle plage tab de façon aléatoire var rang = Math.round(Math.random()*(tab.length-1)); var angle = tab[rang]; liste += angle+"\r"; obj.rotate(angle,true,undefined,false,false,Transformation.CENTER); redraw(); }
... View more
Mar 03, 2018
06:50 AM
2 Upvotes
Bonjour subieguy2, Je pense avoir trouvé la réponse à ta question : - Dans ton script la fonction findGrid() est appelée pour chaque texte, les propriétés de la grille calculs sont calculées x fois (calculs superflus). - Pour ma part, j'évite de déplacer les règles (d.rulerOrigin = newOrigin;) - les fonctions doivent être placées en général en dehors du programme principal. - Il faut bien distinguer les variables globales et locales. Je propose donc un script (partiel) qui corrige ces problèmes. Je joins le script et le fichier xlx produit par un simple copié/collé dans Excel suivi d'un trie par noms. https://share.orange.fr/#qtyljtDtTW70f188003 de elleere, (de France) // JavaScript Document pour Illustrator // elleere Sat, 3 March 2018 14:07:42 GMT //------------ var d = app.activeDocument; var Origin = d.rulerOrigin; var origX = -Origin[0]; // left && Top ActiveArtboard var origY = -Origin[1]+d.height; var decx = 300; // position de la liste à gauche ActiveArtboard var cdr = true; // true affiche le cadre var liste = ""; // liste à afficher var propG; // objet propriétés de la grille if (selection) { propG = findGrid(selection ); for (var z = 0; z < selection.length; z++) { if (selection .typename = "textFrame") { liste +=selection .contents+String.fromCharCode(9); liste += rang(selection ,propG.p,propG.w,propG.h,propG.c)+"\r"; } } } createGridText = d.textFrames.pointText([origX-decx,origY]); createGridText.contents = liste.substr(0,liste.length-1); //--------------- function findGrid(t) { var ps = d.layers[d.layers.length-1].pathItems; var l = ps.length; var W, H, w, h, b, center, rows, columns; var posGrille = [], rows = columns = 1; for (var i = 0; i < l; i++) { if (ps.width == 0) { // vertical columns++; !posGrille[1] && posGrille[1] = ps.geometricBounds[3]; !H && H = ps.height; } if (ps.height == 0) { // horizontal rows++; !posGrille[0] && posGrille[0] = ps.geometricBounds[0]; !W && W = ps.width; } } w = W / columns; // width column; h = H / rows; // height row; if (cdr) {cadre (d,posGrille[1]+H,posGrille[0],W,H);} return {p:posGrille,w:w,h:h,c:columns,r:rows}; } //--------------- function cadre (relativeObjet,y,x,w,h) { var rect = relativeObjet.pathItems.rectangle(y,x,w,h); rect.filled = false; rect.stroked = true; rect.strokeWidth = 1; rect.strokeDashes = [3, 1.5]; } //--------------- function rang(t,pos,w,h,col) { var b, center, rangW, rangH; b = t.geometricBounds; center = [b[0] + (b[2] - b[0]) / 2, b[1] + (b[3] - b[1]) / 2]; rangW = col+1-Math.ceil(Math.abs(center[0]-pos[0])/w); rangH = Math.floor(Math.abs(center[1]-pos[1])/h); return String.fromCharCode(65+rangH )+ "-" + rangW; } //---------------
... View more
Mar 02, 2018
11:04 AM
1 Upvote
Pourquoi ne pas créer une liste avec tabulations : liste = ""; liste += selection .contents+String.fromCharCode(9); liste += findGrid()+"\r"; findGrid() { - - return o[Math.ceil(gy - 1)] + "-" + Math.ceil(gx); r} à la fin du script afficher la liste
... View more
Mar 02, 2018
02:01 AM
Bonjour, This script is a real gas plant ? que faire avec ces blocs de texte ?
... View more
Feb 26, 2018
12:43 PM
1 Upvote
Rectificatif pour le script donné plus haut : Inverser la valeur de l'angle deg = -Math.atan2(mtx.mValueB, mtx.mValueA) * 180 / Math.PI; scV valeur absolue scV = Math.abs(getArrondi(mx.mValueD / rtmx.mValueD*100,3)); Désolé LR
... View more
Feb 26, 2018
10:05 AM
Bonjour, Dans Format de document > Simuler le papier couleur
... View more
Feb 26, 2018
01:46 AM
2 Upvotes
Bonjour, merci Ten A // JavaScript Document Illustrator // elleere Sun, 25 February 2018 21:08:12 GMT { if (selection) { var sel = selection[0]; if(sel.typename=='RasterItem' || sel.typename == 'PlacedItem') { var propT = getscale1(sel); alert("scale1(H,V) : ("+propT.H+"%, "+propT.V+"%), Rotation : "+propT.A+" °"); var propT = getscale2(sel); alert("scale2(H,V) : ("+propT.H+"%, "+propT.V+"%), Rotation : "+propT.A+" °"); } } //--------------- function getscale1(tg) { var mtx, deg, degArd, scH, scV; mtx = tg.matrix; deg = Math.atan2(mtx.mValueB, mtx.mValueA) * 180 / Math.PI; degArd =getArrondi(deg,3); tg.rotate(-deg); mtx = tg.matrix; scH = getArrondi(mtx.mValueA * 100,3); scV = getArrondi(mtx.mValueD * 100,3); tg.rotate(deg); return {H:scH,V:scV,A:degArd} } function getscale2(tg){ var mx, deg, degArd, nm, rtmx,scH, scV; mx = tg.matrix; deg = Math.atan2(mx.mValueB, mx.mValueA) * 180 / Math.PI; degArd =getArrondi(deg,3); nm = new Matrix; nm.mValueA = nm.mValueD = 1; nm.mValueB = nm.mValueC = 0; rtmx = app.concatenateRotationMatrix(nm, deg); scH = getArrondi(mx.mValueA / rtmx.mValueA * 100,3); scV = getArrondi(mx.mValueD / rtmx.mValueD * 100,3); return {H:scH,V:scV,A:degArd} } //--------------- function getArrondi(nb,N) { //arrondi nb a N chiffres apres la virgule return Math.round(Math.pow(10,N)*nb)/Math.pow(10,N); } //--------------- }
... View more
Jan 30, 2018
07:29 AM
1 Upvote
Hello, Un petite erreur dans le deuxième script que j'ai corrigée, (voir plus haut) ligne 13,39,56 accolade déplacée en 70. On a souvent des surprises avec les pdf non hybrides. J'ai à ce propos posté un nouveau sujet sur Mediabox page Illustrator Sélections différentes ? LR
... View more
- « Previous
- Next »