Интеграция ArchiCAD перевод в AutoCAD
Создание виртуальных презентаций ArchiCAD 3d
KnigaCAD обучение AutoCAD 2D на 55 страницах 2005год
индексация dwg и поиск за секунды и МЫ
цель статьи: показать возможность индексации dwg
свыше 10 лет пользуюсь индексацией dwg и других файлов
для поиска в компьютере по тысячам файлов за секунду
причём индексированы и эл.книги и всевозможные документы
и ... чертежи dwg где считается невозможна индексация
для индексации необходимо сделать копию требующихся dwg
и других файлов в отдельный компьютер сохранив пути
и перевести dwg в версию dwg 2000 года
применив Архивариус 3000 с доступной стоимостью
индексировать скопированный массив
полученные индексы возможно использовать в любом компьютере
и при доступности исходных файлов открываются сами dwg
достигается поиск внутри тысяч dwg любой версии за секунды
по словосочетаниям во всех формах запрашиваемых слов
? используется ли вами индексация dwg ?
стартап поиск в чертежах AutoCAD dwg совместимых
любой версии используя около 5 программ
а также поиск Word Excel txt html
слов и словосочетаний в любых форматах
индексация dwg автокад чертежи autocad
1. копия в другой компьютер dwg
в каталогах с другими файлами
2. снять признак только для чтения
и контролировать табличный вид каталога
включив столбец атрибуты без признака R
3. dwg конвертер настроить на dwg 2000
и запись dwg в исходные каталоги
4. в dwg конвертер добавить каталоги
и контролировать список файлов
5. стартовать конвертер dwg и контроль
чтобы была успешная конвертация до 100%
6. far поиск dwg по каталогам индексации
7. файловый far и быстрый просмотр ctrl+q
покажет начало файлов autocad 2000 AC1015
8. архивариус 3000 и начать новый индекс
9. индексы чертежей и документов раздельно
10. настроить включая autocad и файлы dwg
и нормальный вариант соблюдая наличие слов
11. индексация копии dwg соблюдая каталоги
12. свойства индекса и найти путь индекса
13. скопировать 13 файлов индекса и
вставить в любое место на любом компьютере
14. настроить путь индекса и индекс появится
в списке индексов и готов поиск внутри dwg
в исходных dwg любой версии autocad
15. создан поиск по всем формам словосочетаний
ENTLEN = длины
СЛОИ вставляет другой чертёж
МИНИ БЛОКИ и говорящие имена
Автокад мини-блок: имя главное и сам блок: 1 отрезок
смысл: изобразив как угодно
сверху расставить мини-блоки
и командой bcount пересчитать блоки
применив количество мини-блоков
Моя технология 2005 года
Auto CAD mini-block: main name and block itself: 1 circle
meaning: by drawing as you like
place mini-blocks on top
and use bcount command to recalculate blocks
by applying number of mini-blocks
My technology of 2005 year
GAKSON аксонометрия
BCOUNT считает блоки
startup search in AutoCAD dwg compliant drawings
any version using about 5 programs
and also search Word Excel txt html
words and phrases in any formats
indexing dwg autocad drawings autocad
1. copy to another computer dwg
in directories with other files
2. remove read-only attribute and control
directory look of directory by including
column attributes without R character
3. dwg converter set up on dwg 2000
and writing dwg to source directories
4. in dwg converter add directories
and control list of files
5. start dwg converter and control
that was a successful conversion to 100%
6. far search dwg for index directories
7. file far and quick scan ctrl + q will
show beginning of autocad 2000 files AC1015
8. Archivist 3000 and start a new index
9. indexes of drawings and documents separately
10. configure including autocad and dwg files
and normal option of observing presence of words
11. indexing a copy of dwg following catalogs
12. Index properties and find index path
13. Copy 13 index files and
paste anywhere on any computer
14. configure index path and index will appear.
in index list and ready to search inside dwg
in source dwg of any version of autocad
15. created a search for all forms of word combinations
многие программы данного сайта
http://rosettacode.org/wiki/Category:C_sharp
http://rosettacode.org/wiki/Category:QB64
// RUSSIAN SORTING HALVES DANILIN
// C# Csharp
// CS.BAT
// C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /nologo RSH.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace davApp
{
class Program
{
private long age;
static long[] a;
static long[] d;
static void Main(string[] args)
{
int n = 0;
// READ NUMBERS
var inpFile = new StreamReader("N.txt");
n = Convert.ToInt32(inpFile.ReadLine());
inpFile.Close();
var age = 1+Math.Log(n) / Math.Log(2);
Console.WriteLine(n);
a = new long[n+1];
d = new long[n+1];
for (int i = 1; i <= n; i++)
d[i] = n-i+1;
//var rand = new Random();
//// RANDOM [1;n]
//for (int i = 1; i <= n; i++)
// d[i] = rand.Next(1, n);
// REAN N LINE FROM FILE
//inpFile = new StreamReader("ISX.txt");
//for (int i = 1; i <= n; i++)
// d[i] = Convert.ToInt64(inpFile.ReadLine());
//inpFile.Close();
// WRITE ON SCREEN
int m = Math.Min(n, 20);
for (int i = 1; i <= m; i++)
Console.Write("{0} ", d[i]);
Console.WriteLine();
// RUSSIAN SORTING HALVES DANILIN
var start = DateTime.Now;
if (age > 0)
dav(1, n, 1, age);
var finish = DateTime.Now;
Console.WriteLine("{0} second", (finish-start).TotalSeconds);
// WRITE ON SCREEN
Console.WriteLine("[1..{0}]", m);
for (int i = 1; i <= m; i++)
Console.Write("{0} ", d[i]);
Console.WriteLine();
// WRITE ON SCREEN
Console.WriteLine("[{0}..{1}]", n-m+1, n);
for (int i = n-m+1; i <= n; i++)
Console.Write("{0} ", d[i]);
Console.WriteLine();
// WRITE IN FILE
var outFile = new StreamWriter("dav.txt");
for (int i = 1; i <= m; i++)
outFile.WriteLine(d[i]);
outFile.WriteLine();
for (int i = n-m+1; i <= n; i++)
outFile.WriteLine(d[i]);
outFile.WriteLine();
outFile.Close();
Console.WriteLine("Press any key");
Console.ReadKey();
}
static void dav(int ab, int yz, int part, double age)
{
if (yz-ab < 1)
return;
long summa = 0;
for (int i = ab; i <= yz; i++)
summa = summa+d[i];
double middle = summa / (yz-ab+1.0);
var abc = ab-1;
var xyz = yz+1;
for (int i = ab; i <= yz; i++)
if (d[i] < middle)
{
abc = abc+1;
a[abc] = d[i];
}
else
{
xyz = xyz-1;
a[xyz] = d[i];
}
for (int i = ab; i <= yz; i++)
d[i] = a[i];
if (part < age)
{
if (abc >= ab) dav(ab, abc, part+1, age);
if (xyz <= yz) dav(xyz, yz, part+1, age);
}
return;
}
}
}
http://rosettacode.org/wiki/Category:C_sharp
http://rosettacode.org/wiki/Category:QB64
// Russian Sorting Halves 4 part accelerate bubble sorting
// C# Csharp
// CS.BAT
// C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /nologo RSH.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace octoberApp
{
class Program
{
static int n;
static double[] d;
static double[] a;
static double[] v;
static int[] q;
static void Main(string[] args)
{
n = 57539;
d = new double[n+1];
a = new double[n+1];
v = new double[n+1];
q = new int[5+1];
var rand = new Random();
for (int i = 1; i <= n; i++)
d[i] = Math.Truncate(rand.NextDouble() * n);
for (int i = 1; i <= 10; i++)
Console.Write("{0} ", d[i]);
Console.WriteLine();
for (int i = n-9; i <= n; i++)
Console.Write("{0} ", d[i]);
Console.WriteLine();
Console.WriteLine();
var start = DateTime.Now;
var s = 0;
//ALL
double summa = 0;
for (int i = 1; i <= n; i++)
summa += d[i];
double middle = summa / n;
var y = 1;
var z = 0;
for (int i = 1; i <= n; i++)
if (d[i] < middle)
{
a[y] = d[i]; y++;
}
else
{
a[n-z] = d[i];
z++;
}
q[3] = y-1;
Console.WriteLine("ALL middle = {0}", middle);
for (int i = 1; i <= 10; i++)
Console.Write("{0} ", a[i]);
Console.WriteLine();
Console.WriteLine();
for (int i = n-9; i <= n; i++)
Console.Write("{0} ", a[i]);
Console.WriteLine();
Console.WriteLine();
// 1 FROM 2
summa = 0;
for (int i = 1; i <= q[3]; i++)
summa += a[i];
middle = summa / q[3];
y = 1;
z = 0;
Console.WriteLine("1 FROM 2 = {0} 1 ...{1}", middle, q[3]);
for (int i = 1; i <= q[3]; i++)
if (a[i] < middle)
{
v[y] = a[i]; y++;
}
else
{
v[q[3]-z] = a[i];
z++;
}
for (int i = 1; i <= 10; i++)
Console.Write("{0} ", v[i]);
Console.WriteLine();
for (int i = q[3]-9; i <= q[3]; i++)
Console.Write("{0} ", v[i]);
Console.WriteLine();
Console.WriteLine();
q[2] = y-1;
// 2 FROM 2
summa = 0;
for (int i = q[3]+1; i <= n; i++)
summa += a[i];
middle = summa / (1+n-q[3]);
y = q[3];
z = 0;
Console.WriteLine("2 FROM 2 = {0} {1}...{2}", middle, q[3]+1, n);
for (int i = q[3]; i <= n; i++)
if (a[i] < middle)
{
v[y] = a[i]; y++;
}
else
{
v[n-z] = a[i];
z++;
}
for (int i = q[3]; i <= q[3]+10; i++)
Console.Write("{0} ", v[i]);
Console.WriteLine();
for (int i = n-9; i <= n; i++)
Console.Write("{0} ", v[i]);
Console.WriteLine();
Console.WriteLine();
q[4] = y-1;
q[1] = 2;
q[5] = n;
//BUBBLE
Console.WriteLine("1= {0} 2= {1} 3= {2} 4= {3} 5= {4}", 1, q[2], q[3], q[4], n);
Console.WriteLine();
for (int t = 1; t <= 4; t++)
for (int i = q[t]-1; i <= q[t+1]; i++)
for (int j = i+1; j <= q[t+1]; j++)
if (v[i] > v[j])
{
var x = v[i];
v[i] = v[j];
v[j] = x;
s++;
}
var finish = DateTime.Now;
for (int i = 1; i <= 10; i++)
Console.Write("{0} ", v[i]);
Console.WriteLine();
for (int i = n-9; i <= n; i++)
Console.Write("{0} ", v[i]);
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("DArus4 {0} second swap {1}", (finish-start).TotalSeconds, s);
var outFile = new System.IO.StreamWriter("RUoct.txt");
outFile.WriteLine("DArus4 {0} second swap {1}", (finish-start).TotalSeconds, s);
outFile.WriteLine("{0} 4 parts bubble ", n);
for (int i = 1; i <= n / 2; i++)
outFile.WriteLine(v[i]);
for (int i = n / 2; i <= n; i++)
outFile.WriteLine(v[i]);
outFile.Close();
start = DateTime.Now;
s = 0;
for (int i = 1; i <= n; i++)
for (int j = i+1; j <= n; j++)
if (d[i] > d[j])
{
var x = d[i];
d[i] = d[j];
d[j] = x;
s++;
}
finish = DateTime.Now;
Console.WriteLine("BUBBLE {0} second swap {1}", (finish-start).TotalSeconds, s);
Console.WriteLine("Press any key");
Console.ReadKey();
}
}
}
'RUSSIAN sorting halves 4 part bubble
N=17539
DIM d(N), a(N), v(N), q(5)
RANDOMIZE TIMER: FOR i=1 TO N: d(i)=INT(RND * N): NEXT
FOR k=1 TO 10: PRINT d(k);: NEXT: PRINT: FOR k=N-9 TO N: PRINT d(k);: NEXT: PRINT: PRINT
start=TIMER: s=0
' ALL
summa=0: FOR i=1 TO N: summa=summa+d(i): NEXT: middle=summa/N: y=1: z=0
FOR i=1 TO N
IF d(i) < middle THEN a(y)=d(i): y=y+1: ELSE a(N-z)=d(i): z=z+1
NEXT
q(3)=y-1
PRINT "ALL middle="; middle
FOR k=1 TO 10: PRINT a(k);: NEXT: PRINT: FOR k=N-9 TO N: PRINT a(k);: NEXT: PRINT: PRINT
'1 FROM 2
summa=0: FOR i=1 TO q(3): summa=summa+a(i): NEXT: middle=summa/q(3): y=1: z=0
PRINT "1 FROM 2="; middle, "1 ..."; q(3)
FOR i=1 TO q(3)
IF a(i) < middle THEN v(y)=a(i): y=y+1: ELSE v(q(3)-z)=a(i): z=z+1
NEXT
FOR k=1 TO 10: PRINT v(k);: NEXT: PRINT: FOR k=q(3)-9 TO q(3): PRINT v(k);: NEXT: PRINT: PRINT
q(2)=y-1
'2 FROM 2
summa=0: FOR i=q(3)+1 TO N: summa=summa+a(i): NEXT: middle=summa/(1+N-q(3)): y=q(3): z=0
PRINT "2 FROM 2="; middle, q(3)+1; "..."; N
FOR i=q(3) TO N
IF a(i) < middle THEN v(y)=a(i): y=y+1: ELSE v(N-z)=a(i): z=z+1
NEXT
FOR k=q(3) TO q(3)+10: PRINT v(k);: NEXT: PRINT: FOR k=N-9 TO N: PRINT v(k);: NEXT: PRINT: PRINT
q(4)=y-1: q(1)=2: q(5)=N
' SORTING
PRINT "1="; 1, "2="; q(2), "3="; q(3), "4="; q(4), "5="; N: PRINT
FOR t=1 TO 4
FOR i=q(t)-1 TO q(t+1): FOR j=i+1 TO q(t+1)
IF v(i) > v(j) THEN SWAP v(i), v(j): s=s+1
NEXT: NEXT: NEXT
finish=TIMER
FOR k=1 TO 10: PRINT v(k);: NEXT: PRINT: FOR k=N-9 TO N: PRINT v(k);: NEXT: PRINT: PRINT
PRINT "DA RUS 4 ", finish-start; "second ", "swap "; s
OPEN "c:/RUsortdav4.txt" FOR OUTPUT AS #2
PRINT #2, finish-start; "second ", "swap "; s
PRINT #2, N; "Russian sorting halves 4 parts bubble "
FOR i=1 TO 20: PRINT #2, v(i): NEXT
FOR i=N-19 TO N: PRINT #2, v(i): NEXT
start=TIMER: s=0
FOR i=1 TO N: FOR j=i+1 TO N
IF d(i) > d(j) THEN SWAP d(i), d(j): s=s+1
NEXT: NEXT
finish=TIMER
PRINT "BUBBLE ", finish-start; "second ", "swap "; s
END
' Russian Sorting Halves Danilin
DECLARE SUB RussianSortingHalvesDAV (ab!, yz!, part!, age!)
CLOSE
OPEN "c:/N.txt" FOR INPUT AS #5
INPUT #5, n: PRINT n
'n=123456
age=1+LOG(n)/LOG(2): PRINT n, age
DIM SHARED d(n) 'AS LONG
DIM SHARED a(n) 'AS LONG
'OPEN "c:/ISX.txt" FOR INPUT AS #1: 'FOR i=1 TO n: INPUT #1, d(i): NEXT
FOR i=1 TO n: d(i)=n-i+1: NEXT ' INT(RND*n)
'FOR i=1 TO n STEP 2: d(i)=n-i+1: d(i+1)=d(i): NEXT
'FOR i=1 TO n: d(i)=INT(RND*n): NEXT '
IF n < 17 THEN FOR k=1 TO n: PRINT d(k);: NEXT: PRINT
IF n > 16 THEN FOR k=n-8 TO n: PRINT d(k);: NEXT: PRINT
start=TIMER
IF age > 0 THEN
CALL RussianSortingHalvesDAV(1, n, 1, age)
END IF
finish=TIMER
IF n < 17 THEN FOR k=1 TO n: PRINT d(k);: NEXT: PRINT
IF n > 16 THEN FOR k=n-8 TO n: PRINT d(k);: NEXT: PRINT
PRINT finish-start
OPEN "c:/=RuSortHalves_dav.txt" FOR OUTPUT AS #2
PRINT #2, finish-start; "sekund "
PRINT #2, n; "elements", "RECURSION"
FOR i=1 TO 22: PRINT #2, d(i): NEXT
FOR i=n-22 TO n: PRINT #2, d(i): NEXT
FOR k=1 TO 20: PRINT d(k);: NEXT: PRINT: PRINT
FOR k=n-9 TO n: PRINT d(k);: NEXT: PRINT: PRINT
END
SUB RussianSortingHalvesDAV (ab, yz, part, age)
IF yz-ab < 1 THEN EXIT SUB
FOR i=ab TO yz: summa=summa+d(i): NEXT
middle=summa/(yz-ab+1)
abc=ab-1
xyz=yz+1
FOR i=ab TO yz
IF d(i) < middle THEN abc=abc+1: a(abc)=d(i): ELSE xyz=xyz-1: a(xyz)=d(i)
NEXT
FOR i=ab TO yz: d(i)=a(i): NEXT
IF part < age THEN
IF abc >= ab THEN CALL RussianSortingHalvesDAV(ab, abc, part+1, age)
IF xyz <= yz THEN CALL RussianSortingHalvesDAV(xyz, yz, part+1, age)
END IF
END SUB
; Russian Sorting Halves Danilin
OpenConsole()
Declare RussianSortingHalvesDAV (ab, yz, part, age)
;n=12345678
If ReadFile(0, "c:/N.txt")
n = Val(ReadString(0))
CloseFile(0)
EndIf
age=Int(1+(Log(n)/Log(2)))
Global Dim d(n)
Global Dim a(n)
For i=1 To n
;d(i)=Random(n,1) ; случайные значения от 1 до n
d(i)=n-i+1;
Next
; вывод исходных значений до сортировки
PrintN(" Исходный без сортировки Первые 20")
For k=1 To 20: Print(" "+ d(k)): Next: PrintN("")
PrintN(" Последние 10")
For k=n-9 To n : Print(" "+ d(k)): Next: PrintN("")
start=ElapsedMilliseconds() ; таймер
If age > 0 :
RussianSortingHalvesDAV(1, n, 1, age)
EndIf
finish=ElapsedMilliseconds() ; таймер
PrintN("RussianSorting Первые 50")
For k=1 To 50: Print(" "+ d(k)): Next: PrintN("")
PrintN(" Последние 20")
For k=n-19 To n : Print(" "+ d(k)): Next: PrintN("")
PrintN( "Время сортровки RussianSorting = " + Str(finish-start))
If OpenFile(0, "c:/RSH_DAV.txt")
For k=1 To 1000 :WriteString (0, " " +d(k)): Next
For k=n-1001 To n :WriteString (0, " " +d(k)): Next
CloseFile(0)
EndIf
Input()
End
; Процедура сортировки
Procedure RussianSortingHalvesDAV (ab, yz, part, age)
If yz-ab < 1 :ProcedureReturn 0
EndIf
For i=ab To yz
summa=summa+d(i)
Next
middle=summa/(yz-ab+1)
abc=ab-1
xyz=yz+1
For j=ab To yz
If d(j) <= middle:
abc=abc+1: a(abc)=d(j)
Else
xyz=xyz-1: a(xyz)=d(j)
EndIf
Next
For w=ab To yz: d(w)=a(w): Next
If part < age :
If abc >= ab :RussianSortingHalvesDAV(ab, abc, part+1, age)
EndIf
If xyz < yz :RussianSortingHalvesDAV(xyz, yz, part+1, age)
EndIf
EndIf
EndProcedure
; IDE Options = PureBasic 5.62 (Windows - x64)
; CursorPosition = 65
; FirstLine = 45
; Folding = -
; EnableXP
; Executable = PureBasic_RSH_DAV_abyz.exe
'qb64 KENOKENOucozRU.bas
DIM a(78, 22): CLS
RANDOMIZE TIMER
OPEN "KENO_dav.txt" FOR OUTPUT AS #1
OPEN "KENO_excel.txt" FOR OUTPUT AS #2
FOR s=1 TO 78: REM tiragey
a(s, 1)=INT(RND * 80)+1: REM 1-y sluch
22 FOR j=2 TO 21: REM dlya 20 nomerov
shag=INT(RND * 80)+1: REM plus shag
a(s, j)=a(s, j-1)+shag: REM zavisit
IF a(s, j) > 80 THEN a(s, j)=a(s, j)-80: REM uchet 80
NEXT
FOR m=1 TO 19
FOR n=m+1 TO 20
IF a(s, m)=a(s, n) THEN GOTO 22
IF INKEY$=" " THEN STOP
NEXT: NEXT
NEXT
FOR v=1 TO 78
FOR w=1 TO 20
FOR m=w+1 TO 20
IF a(v, w) > a(v, m) THEN t=a(v, w): a(v, w)=a(v, m): a(v, m)=t
NEXT: NEXT: NEXT
FOR v=1 TO 78
FOR w=1 TO 20
PRINT #1, a(v, w); CHR$(9);
NEXT: PRINT #1,: NEXT
FOR v=1 TO 20
FOR w=1 TO 78
PRINT #2, a(w, v); CHR$(9);
NEXT: PRINT #2,: NEXT
Стартап поиск в чертежах AutoCAD dwg совместимых
любой версии используя около 5 программ
а также поиск Word Excel txt html
слов и словосочетаний в любых форматах
индексация dwg автокад чертежи autocad
1. копия в другой компьютер dwg
в каталогах с другими файлами
2. снять признак только для чтения
и контролировать табличный вид каталога
включив столбец атрибуты без признака R
3. dwg конвертер настроить на dwg 2000
и запись dwg в исходные каталоги
4. в dwg конвертер добавить каталоги
и контролировать список файлов
5. стартовать конвертер dwg и контроль
чтобы была успешная конвертация до 100%
6. far поиск dwg по каталогам индексации
7. файловый far и быстрый просмотр ctrl+q
покажет начало файлов autocad 2000 AC1015
8. архивариус 3000 и начать новый индекс
9. индексы чертежей и документов раздельно
10. настроить включая autocad и файлы dwg
и нормальный вариант соблюдая наличие слов
11. индексация копии dwg соблюдая каталоги
12. свойства индекса и найти путь индекса
13. скопировать 13 файлов индекса и
вставить в любое место на любом компьютере
14. настроить путь индекса и индекс появится
в списке индексов и готов поиск внутри dwg
в исходных dwg любой версии autocad
15. создан поиск по всем формам словосочетаний
|