s = system.askReadTextFile('cdt');
outliner = 7;
buttl = 20;
maxwid = 20; //Ширина строки
textscale = 10; //Высота шрифта
otr = Model.Objects [0];
okr = Model.Objects [1];
raz = Model.Objects [2];
mytext = system.askReadTextFile('txt');
var lcount = 0;
var stry = 0;
var lstr = '';
for (I=0;I<mytext.length;I++) {
lcount++;
lstr = lstr + mytext.charAt(I);
if (((lcount > maxwid) && (mytext [I] == ' ')) || (I==(mytext.length-1))) {
ddstr (lstr, 0, stry, textscale, 0);
lstr = '';
stry -= textscale;
lcount = 0;
Action.Hint = Math.round(100*I/mytext.length) + '% готово.';
}
}
otr.Visible = false;
okr.Visible = false;
raz.Visible = false;
////////////////////////////////////////////////////////////////////////////////
//
// Двумерные утилиты версия 1.2.6 от 26.03.2015
//
////////////////////////////////////////////////////////////////////////////////
/*
function ddvertchain (x1, y1, x2, y2, deltax, value, scale, tilt)
function ddshtrih(x1, y1, x2, y2,inter)
function ddstyaj (x, y, ang)
function ddshkant (x, y, ang)
function ddexc (x, y, ang)
function tablestr (x1, x2, x3, y, str1, str2, scale, tilt)
function ddtor (x, y, r, h, ang)
function ddtykad (x1, y1, x2, y2, str1, str2, scale, tilt)
function ddtyka (x1, y1, x2, y2, str, scale, tilt)
function ddstrc (str, x, y, scale, tilt)
function ddstr (str, x, y, scale, tilt)
function DrawSymb(sc, x, y, scale, tilt)
function ddkr(x1, y1, ang)
function ddkro(x1, y1, ang)
function ddrec2(x1, y1, x2, y2)
function ddrec1(x1, y1, x2, y2)
function textor2(x1, y1, x2, y2)
function textor(x1, y1, x2, y2)
function dddyrk(x, y, r)
function dddyrk2(x, y, r)
function ddraz(x, y, l, ang, ots)
function ddokr(x, y, r)
function ddotr(x1, y1, x2, y2)
*/
function ddvertchain (x1, y1, x2, y2, deltax, value, scale, tilt) {
var x3 = x1+deltax;
var isleft = (x3<x2);
var str0 = String (Math.round(value));
var a = ddotr (x1, y1, x3, y1);
a.Name = '2';
var a = ddokr (x3, y1, outliner/2);
a.Name = '2';
var a = ddotr (x3, y1, x3, y2);
a.Name = '2';
if (isleft) {
var a = ddotr (x3-outliner, y2, x2, y2);
a.Name = '2';
// ddstr (str0, x3-str0.length*scale-outliner, y2, scale, tilt);
ddstr (' ', 20, 0.3, 20, 0.3);
} else {
var a = ddotr (x3+outliner, y2, x2, y2);
a.Name = '2';
// ddstr (str0, x3+outliner, y2, scale, tilt);
ddstr (' ', 20, 0.3, 20, 0.3);
}
if (y2<y1) {
var a = ddotr (x3, y2, x3-outliner/3, y2+outliner);
a.Name = '2';
var a = ddotr (x3, y2, x3+outliner/3, y2+outliner);
a.Name = '2';
} else {
var a = ddotr (x3, y2, x3-outliner/3, y2-outliner);
a.Name = '2';
var a = ddotr (x3, y2, x3+outliner/3, y2-outliner);
a.Name = '2';
}
}
function ddshtrih(x1, y1, x2, y2,inter) {
for (i=0;i<(x2-x1+y1-y2);i+=inter) {
var otrx1 = x1 + i;
var otry1 = y1;
var otrx2 = otrx1 - (y1-y2);
var otry2 = y2;
if (otrx2 < x1) {
otry2 = otry2 + (x1 - otrx2);
otrx2 = x1;
}
if (otrx1 > x2) {
otry1 = otry1 - (otrx1-x2);
otrx1 = x2;
}
var a = ddotr(otrx1, otry1, otrx2, otry2);
a.Name = '2';
}
}
function ddstyaj (x, y, ang) {
ddtor (x, y, 2.5, 34, ang);
}
function ddshkant (x, y, ang) {
ddtor (x, y, 4, 20, ang);
}
function ddexc (x, y, ang) {
ddtor (x, y, 4, 34, ang);
dddyrk (x + 34 * Math.cos(ang / 180 * Math.PI), y + 34 * Math.sin(ang / 180 * Math.PI), 7.5);
}
function tablestr (x1, x2, x3, y, str1, str2, scale, tilt) {
ddrec1(x1, y, x2, y + scale*2);
ddrec1(x2, y, x3, y + scale*2);
ddstr(str1, x1+scale*0.5, y+scale*0.5, scale, tilt);
ddstr(str2, x2+scale*0.5, y+scale*0.5, scale, tilt);
}
function ddtor (x, y, r, h, ang) {
var mathang = ang / 180 * Math.PI;
var a = ddotr(x - outliner * Math.cos(mathang), y - outliner * Math.sin(mathang), x + (outliner + h) * Math.cos(mathang), y + (outliner + h) * Math.sin(mathang));
a.Name = '2';
var x1 = x - r * Math.sin(mathang);
var y1 = y + r * Math.cos(mathang);
var x4 = x + r * Math.sin(mathang);
var y4 = y - r * Math.cos(mathang);
var x2 = x1 + h * Math.cos(mathang);
var y2 = y1 + h * Math.sin(mathang);
var x3 = x4 + h * Math.cos(mathang);
var y3 = y4 + h * Math.sin(mathang);
var a = ddotr(x1, y1, x2, y2);
a.Name = '2';
var a = ddotr(x2, y2, x3, y3);
a.Name = '2';
var a = ddotr(x3, y3, x4, y4);
a.Name = '2';
var a = ddotr(x4, y4, x1, y1);
a.Name = '2';
}
function ddtykad (x1, y1, x2, y2, str1, str2, scale, tilt) {
var Maxl = Math.max (str1.length, str2.length);
if (x1>x2) {
var x3 = x1 - Maxl*scale;
} else {
var x3 = x1 + Maxl*scale;
}
var a = ddotr(x1, y1, x3, y1);
a.Name = '2';
var a = ddotr(x3, y1, x2, y2);
a.Name = '2';
if (x1>x2) {
ddstr (str1, x3, y1 + scale/2, scale, tilt);
ddstr (str2, x3, y1 - 3*scale/2, scale, tilt);
} else {
ddstr (str1, x1, y1 + scale/2, scale, tilt);
ddstr (str2, x1, y1 - 3*scale/2, scale, tilt);
}
}
function ddtyka (x1, y1, x2, y2, str, scale, tilt) {
if (x1>x2) {
var x3 = x1 - str.length*scale;
} else {
var x3 = x1 + str.length*scale;
}
var a = ddotr(x1, y1, x3, y1);
a.Name = '2';
var a = ddotr(x3, y1, x2, y2);
a.Name = '2';
if (x1>x2) {
ddstr (str, x3, y1 + scale/2, scale, tilt);
} else {
ddstr (str, x1, y1 + scale/2, scale, tilt);
}
}
function ddstrc (str, x, y, scale, tilt) {
for (i=0;i<str.length;i++) {
DrawSymb(str.charCodeAt(i), x+i*scale-(str.length*scale)/2, y, scale, tilt);
}
}
function ddstr (str, x, y, scale, tilt) {
for (i=0;i<str.length;i++) {
DrawSymb(str.charCodeAt(i), x+i*scale, y, scale, tilt);
}
}
function DrawSymb(sc, x, y, scale, tilt) {
var k = 0;
while (((s.charAt(k) != '#') || (s.charCodeAt(k+1) != sc)) && (k<s.length-1)) {
k++;
}
k++;
if (k>=s.length) {alert ('Непечатный символ!')}
var com = s.substring(k, s.indexOf('#', k));
com = kprv(com);
while (com.length > 0) {
x1 = Number(prv(com));
com = kprv(com);
y1 = Number(prv(com));
com = kprv(com);
x2 = Number(prv(com));
com = kprv(com);
y2 = Number(prv(com));
com = kprv(com);
x1+=y1*tilt;
x2+=y2*tilt;
var a = ddotr(x + x1*scale, y + y1*scale, x + x2*scale, y + y2*scale);
a.Name = '1';
}
}
function ddkr(x1, y1, ang) {
var l = buttl * 2 / Math.sqrt(3);
var x2 = x1 + l * Math.cos((ang + 60) / 180 * Math.PI);
var y2 = y1 + l * Math.sin((ang + 60) / 180 * Math.PI);
var x3 = x1 + l * Math.cos((ang + 120) / 180 * Math.PI);
var y3 = y1 + l * Math.sin((ang + 120) / 180 * Math.PI);
var x4 = x1 + l * Math.cos((ang + 60) / 180 * Math.PI) * 2;
var y4 = y1 + l * Math.sin((ang + 60) / 180 * Math.PI) * 2;
var a = ddotr(x1, y1, x3, y3);
a.Name = '2';
var a = ddotr(x3, y3, x2, y2);
a.Name = '2';
var a = ddotr(x1, y1, x4, y4);
a.Name = '2';
}
function ddkro(x1, y1, ang) {
var l = buttl * 2 / Math.sqrt(3);
var x2 = x1 + l * Math.cos((ang + 60) / 180 * Math.PI);
var y2 = y1 + l * Math.sin((ang + 60) / 180 * Math.PI);
var x3 = x1 + l * Math.cos((ang + 120) / 180 * Math.PI);
var y3 = y1 + l * Math.sin((ang + 120) / 180 * Math.PI);
var x4 = x1 + l * Math.cos((ang + 60) / 180 * Math.PI) * 2;
var y4 = y1 + l * Math.sin((ang + 60) / 180 * Math.PI) * 2;
var a = ddotr(x1, y1, x3, y3);
a.Name = '2';
var a = ddotr(x3, y3, x2, y2);
a.Name = '2';
var a = ddotr(x1, y1, x4, y4);
a.Name = '2';
var a = ddokr(x4, y4, buttl / 2);
a.Name = '2';
}
function ddrec2(x1, y1, x2, y2) {
var a = ddotr(x1, y1, x2, y1);
a.Name = '2';
var a = ddotr(x2, y1, x2, y2);
a.Name = '2';
var a = ddotr(x2, y2, x1, y2);
a.Name = '2';
var a = ddotr(x1, y2, x1, y1);
a.Name = '2';
}
function ddrec1(x1, y1, x2, y2) {
var a = ddotr(x1, y1, x2, y1);
a.Name = '1';
var a = ddotr(x2, y1, x2, y2);
a.Name = '1';
var a = ddotr(x2, y2, x1, y2);
a.Name = '1';
var a = ddotr(x1, y2, x1, y1);
a.Name = '1';
}
function textor2(x1, y1, x2, y2) {
var a = ddotr(x1*0.6 + x2*0.4, y1*0.6 + y2*0.4, x1*0.6 + x2*0.4, y1*0.4 + y2*0.6);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1*0.4 + x2*0.6, y1*0.6 + y2*0.4, x1*0.4 + x2*0.6, y1*0.4 + y2*0.6);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1*0.6 + x2*0.4, y1*0.6 + y2*0.4, x1*0.61 + x2*0.39, y1*0.58 + y2*0.42);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1*0.6 + x2*0.4, y1*0.6 + y2*0.4, x1*0.59 + x2*0.41, y1*0.58 + y2*0.42);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1*0.6 + x2*0.4, y1*0.4 + y2*0.6, x1*0.61 + x2*0.39, y1*0.42 + y2*0.58);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1*0.6 + x2*0.4, y1*0.4 + y2*0.6, x1*0.59 + x2*0.41, y1*0.42 + y2*0.58);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1*0.4 + x2*0.6, y1*0.6 + y2*0.4, x1*0.41 + x2*0.59, y1*0.58 + y2*0.42);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1*0.4 + x2*0.6, y1*0.6 + y2*0.4, x1*0.39 + x2*0.61, y1*0.58 + y2*0.42);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1*0.4 + x2*0.6, y1*0.4 + y2*0.6, x1*0.41 + x2*0.59, y1*0.42 + y2*0.58);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1*0.4 + x2*0.6, y1*0.4 + y2*0.6, x1*0.39 + x2*0.61, y1*0.42 + y2*0.58);
a.Name = '2';
a.Color = 5263440;
}
function textor(x1, y1, x2, y2) {
var a = ddotr(x1 * 0.6 + x2 * 0.4, y1 * 0.6 + y2 * 0.4, x1 * 0.4 + x2 * 0.6, y1 * 0.6 + y2 * 0.4);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1 * 0.6 + x2 * 0.4, y1 * 0.4 + y2 * 0.6, x1 * 0.4 + x2 * 0.6, y1 * 0.4 + y2 * 0.6);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1 * 0.6 + x2 * 0.4, y1 * 0.6 + y2 * 0.4, x1 * 0.58 + x2 * 0.42, y1 * 0.61 + y2 * 0.39);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1 * 0.6 + x2 * 0.4, y1 * 0.6 + y2 * 0.4, x1 * 0.58 + x2 * 0.42, y1 * 0.59 + y2 * 0.41);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1 * 0.4 + x2 * 0.6, y1 * 0.6 + y2 * 0.4, x1 * 0.42 + x2 * 0.58, y1 * 0.61 + y2 * 0.39);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1 * 0.4 + x2 * 0.6, y1 * 0.6 + y2 * 0.4, x1 * 0.42 + x2 * 0.58, y1 * 0.59 + y2 * 0.41);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1 * 0.6 + x2 * 0.4, y1 * 0.4 + y2 * 0.6, x1 * 0.58 + x2 * 0.42, y1 * 0.39 + y2 * 0.61);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1 * 0.6 + x2 * 0.4, y1 * 0.4 + y2 * 0.6, x1 * 0.58 + x2 * 0.42, y1 * 0.41 + y2 * 0.59);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1 * 0.4 + x2 * 0.6, y1 * 0.4 + y2 * 0.6, x1 * 0.42 + x2 * 0.58, y1 * 0.39 + y2 * 0.61);
a.Name = '2';
a.Color = 5263440;
var a = ddotr(x1 * 0.4 + x2 * 0.6, y1 * 0.4 + y2 * 0.6, x1 * 0.42 + x2 * 0.58, y1 * 0.41 + y2 * 0.59);
a.Name = '2';
a.Color = 5263440;
}
function dddyrk(x, y, r) {
var a = ddokr(x, y, r);
a.Name = '1';
var a = ddotr(x - r - outliner, y, x + r + outliner, y);
a.Name = '2';
var a = ddotr(x, y - r - outliner, x, y + r + outliner);
a.Name = '2';
}
function dddyrk2(x, y, r) {
var a = ddokr(x, y, r);
a.Name = '2';
var a = ddotr(x - r - outliner, y, x + r + outliner, y);
a.Name = '2';
var a = ddotr(x, y - r - outliner, x, y + r + outliner);
a.Name = '2';
}
function ddraz(x, y, l, ang, ots) {
var lra = AddCopy(raz);
lra.Position = NewVector(x, 0, -y);
lra.Size = l;
lra.Value = l;
lra.Length = ots;
lra.RotateY(ang / 180 * Math.PI);
return lra;
}
function ddokr(x, y, r) {
var lcok = AddCopy(okr);
lcok.Position = NewVector(x, 0, -y);
lcok.Radius = r;
return lcok;
}
function ddotr(x1, y1, x2, y2) {
var lcot = AddCopy(otr);
lcot.Pos1 = NewVector(x1, 0, -y1);
lcot.Pos2 = NewVector(x2, 0, -y2);
return lcot;
}
function prv(ss) {
return ss.substring(0, ss.indexOf('@', 0));
}
function kprv(ss) {
return ss.substring(ss.indexOf('@', 0) + 1, ss.length);
}
[свернуть]