Add a port of ZCAD, simple CAD program with AutoCAD DXF 2000 file format

support.  It is developed with Free Pascal and Lazarus.

The project has not released any distfiles yet, so this release is based
on r2259 checked out from http://svn.shamangrad.net/zcad/trunk/, cleaned
up (most importantly, converted to Unix line endings), and tar+xz'ed.

https://sourceforge.net/projects/zcad/
This commit is contained in:
Alexey Dokuchaev 2017-05-02 18:50:35 +00:00
parent 98a1056a43
commit 70e85d336e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=439964
14 changed files with 718 additions and 0 deletions

View File

@ -92,5 +92,6 @@
SUBDIR += verilog-mode.el
SUBDIR += xcircuit
SUBDIR += z88
SUBDIR += zcad
.include <bsd.port.subdir.mk>

93
cad/zcad/Makefile Normal file
View File

@ -0,0 +1,93 @@
# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
# $FreeBSD$
PORTNAME= zcad
PORTVERSION= 0.9.8
CATEGORIES= cad
MASTER_SITES= LOCAL/danfe
DISTNAME= ${PORTNAME}-trunk-r2259
MAINTAINER= danfe@FreeBSD.org
COMMENT= Simple CAD program
BUILD_DEPENDS= lazbuild:editors/lazarus
USES= tar:xz
USE_FPC= cairo fcl-base fcl-image fcl-json fcl-stl fcl-xml opengl \
pasjpeg rtl-extra rtl-objpas x11
LAZARUS_VER= 1.6.4
LAZBUILD_CMD= ${LOCALBASE}/bin/lazbuild -d --pcp=${WRKSRC}/tmppcp \
--lazarusdir=${LAZARUS_DIR}
LAZARUS_DIR= ${LOCALBASE}/share/lazarus-${LAZARUS_VER}
LCL_UNITS_DIR= ${LAZARUS_DIR}/lcl/units/${BUILDNAME}
EXTRACT_CMD= LC_ALL=en_US.UTF-8 ${TAR} # for non-ASCII filenames
MAKE_ENV= LAZBUILD_CMD="${LAZBUILD_CMD}"
WRKSRC= ${WRKDIR}/trunk
BUILD_WRKSRC= ${WRKSRC}/cad_source
INSTALL_WRKSRC= ${WRKSRC}/cad
MAKE_JOBS_UNSAFE= yes
PORTDOCS= UserGuide.odt UserGuide.pdf
OPTIONS_DEFINE= DOCS
OPTIONS_SINGLE= GUI
OPTIONS_SINGLE_GUI= GTK2 QT4
OPTIONS_DEFAULT= GTK2
GTK2_BUILD_DEPENDS= ${LCL_UNITS_DIR}/gtk2/interfaces.ppu:editors/lazarus-lcl-gtk2
GTK2_USE= GNOME=gtk20 FPC=gtk2
GTK2_MAKE_ENV= GUI=gtk2
GTK2_VARS= LAZBUILD_CMD+=--ws=gtk2
QT4_BUILD_DEPENDS= ${LCL_UNITS_DIR}/qt/interfaces.ppu:editors/lazarus-lcl-qt
QT4_LIB_DEPENDS= libQt4Pas.so:x11-toolkits/qt4pas
QT4_MAKE_ENV= GUI=qt
QT4_VARS= LAZBUILD_CMD+=--ws=qt
post-patch:
@${EGREP} -lR 'IFN?DEF LINUX' ${BUILD_WRKSRC} | ${XARGS} \
${REINPLACE_CMD} -E '/IFN?DEF LINUX/s,LINUX,UNIX,g'
@${REINPLACE_CMD} -e '/}Linux{/d' \
${BUILD_WRKSRC}/other/AGraphLaz/Vectors/VStream.pas \
${BUILD_WRKSRC}/other/AGraphLaz/Vectors/VFStream.pas \
${BUILD_WRKSRC}/other/AGraphLaz/Vectors/VFileSys.pas \
${BUILD_WRKSRC}/other/AGraphLaz/Vectors/VStrm64.pas
${CP} ${FILESDIR}/makefile ${BUILD_WRKSRC}/Makefile
pre-build:
# OpenGL component must be fixed and rebuilt locally (to avoid touching
# filesystem outside working directory)
${SED} -e 's,Linux,${OPSYS},' \
${LAZARUS_DIR}/components/opengl/openglcontext.pas \
> ${BUILD_WRKSRC}/openglcontext.pas
${CP} ${LAZARUS_DIR}/components/opengl/glgtkglxcontext.pas \
${LAZARUS_DIR}/components/opengl/glqtcontext.pas \
${LAZARUS_DIR}/components/opengl/openglcontext.res \
${BUILD_WRKSRC}
# Build components that do not come with precompiled *.ppu files (also
# copy them locally first for the same reason as above)
${CP} -a ${LAZARUS_DIR}/components/fpvectorial \
${LAZARUS_DIR}/components/anchordocking ${WRKSRC}
${LAZBUILD_CMD} ${WRKSRC}/fpvectorial/fpvectorialpkg.lpk
${LAZBUILD_CMD} ${WRKSRC}/anchordocking/anchordocking.lpk
do-install:
# Not ready for hier(7)-conforming installation yet
@${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}
${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/${PORTNAME} \
${STAGEDIR}${PREFIX}/${PORTNAME}
cd ${INSTALL_WRKSRC} && ${COPYTREE_SHARE} "blocks components \
fonts images languages menu programdb rtl sample \
template" ${STAGEDIR}${PREFIX}/${PORTNAME}
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${BUILD_WRKSRC}/userguide/UserGuide.odt \
${INSTALL_WRKSRC}/UserGuide.pdf ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>

3
cad/zcad/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1493632254
SHA256 (zcad-trunk-r2259.tar.xz) = 9e441aee52313b8b6eb380dd3a92a9c61e35ff0c9f0bc9e71abc38c4579faff2
SIZE (zcad-trunk-r2259.tar.xz) = 8789888

85
cad/zcad/files/makefile Normal file
View File

@ -0,0 +1,85 @@
# $FreeBSD$
OUTSUFX= lib/$(ARCH)-$(OPSYS:tl)
# XXX: sometimes the build crashes with ``An unhandled exception occurred
# at $0814EBB3'' message (EAccessViolation: Access violation). It might
# be some concurrency issue, but it occurs even with MAKE_JOBS_UNSAFE, so
# use the following simple workaround for the time being.
ZEALOUS_BUILD= sh -c 'i=0 ; until $(LAZBUILD_CMD) $$0 ; do \
test $$i -lt 4 || return ; i=$$((i+1)) ; done'
all: ../$(OUTSUFX)/zcad.compiled
ZCAD_DEPS= \
other/AGraphLaz/lazarus/$(OUTSUFX)/ag_graph.compiled \
other/VirtualTreeView-Lazarus/Source/$(OUTSUFX)-$(GUI)/virtualtreeview_package.compiled \
components/zmath/$(OUTSUFX)/zmath.compiled \
components/zobjectinspector/$(OUTSUFX)/zobjectinspector.compiled
AG_GRAPH_DEPS= \
other/AGraphLaz/lazarus/$(OUTSUFX)/ag_vectors.compiled \
other/AGraphLaz/lazarus/$(OUTSUFX)/ag_attr.compiled \
other/AGraphLaz/lazarus/$(OUTSUFX)/ag_math.compiled \
VTV_DEPS= \
other/lclextensions/$(OUTSUFX)-$(GUI)/lclextensions_package.compiled
ZMATH_DEPS= \
components/zebase/$(OUTSUFX)/zebase.compiled
ZOBJINST_DEPS= \
components/zscript/$(OUTSUFX)/zscript.compiled \
components/zcontrols/$(OUTSUFX)/zcontrols.compiled \
components/zundostack/$(OUTSUFX)/zundostack.compiled
ZSCRIPT_DEPS= \
components/zscriptbase/$(OUTSUFX)/zscriptbase.compiled
ZSCRIPTBASE_DEPS= \
components/zcontainers/$(OUTSUFX)/zcontainers.compiled
../$(OUTSUFX)/zcad.compiled: $(ZCAD_DEPS)
$(ZEALOUS_BUILD) zcad.lpi
other/AGraphLaz/lazarus/$(OUTSUFX)/ag_graph.compiled: $(AG_GRAPH_DEPS)
$(ZEALOUS_BUILD) other/AGraphLaz/lazarus/ag_graph.lpk
other/AGraphLaz/lazarus/$(OUTSUFX)/ag_vectors.compiled:
$(ZEALOUS_BUILD) other/AGraphLaz/lazarus/ag_vectors.lpk
other/AGraphLaz/lazarus/$(OUTSUFX)/ag_attr.compiled:
$(ZEALOUS_BUILD) other/AGraphLaz/lazarus/ag_attr.lpk
other/AGraphLaz/lazarus/$(OUTSUFX)/ag_math.compiled:
$(ZEALOUS_BUILD) other/AGraphLaz/lazarus/ag_math.lpk
other/VirtualTreeView-Lazarus/Source/$(OUTSUFX)-$(GUI)/virtualtreeview_package.compiled: $(VTV_DEPS)
$(ZEALOUS_BUILD) other/VirtualTreeView-Lazarus/Source/virtualtreeview_package.lpk
other/lclextensions/$(OUTSUFX)-$(GUI)/lclextensions_package.compiled:
$(ZEALOUS_BUILD) other/lclextensions/lclextensions_package.lpk
components/zmath/$(OUTSUFX)/zmath.compiled: $(ZMATH_DEPS)
$(ZEALOUS_BUILD) components/zmath/zmath.lpk
components/zebase/$(OUTSUFX)/zebase.compiled:
$(ZEALOUS_BUILD) components/zebase/zebase.lpk
components/zobjectinspector/$(OUTSUFX)/zobjectinspector.compiled: $(ZOBJINST_DEPS)
$(ZEALOUS_BUILD) components/zobjectinspector/zobjectinspector.lpk
components/zscript/$(OUTSUFX)/zscript.compiled: $(ZSCRIPT_DEPS)
$(ZEALOUS_BUILD) components/zscript/zscript.lpk
components/zscriptbase/$(OUTSUFX)/zscriptbase.compiled: $(ZSCRIPTBASE_DEPS)
$(ZEALOUS_BUILD) components/zscriptbase/zscriptbase.lpk
components/zcontainers/$(OUTSUFX)/zcontainers.compiled: $(ZMATH_DEPS)
$(ZEALOUS_BUILD) components/zcontainers/zcontainers.lpk
components/zcontrols/$(OUTSUFX)/zcontrols.compiled:
$(ZEALOUS_BUILD) components/zcontrols/zcontrols.lpk
components/zundostack/$(OUTSUFX)/zundostack.compiled: $(ZSCRIPT_DEPS)
$(ZEALOUS_BUILD) components/zundostack/zundostack.lpk

View File

@ -0,0 +1,53 @@
--- cad_source/components/zebase/uzbpaths.pas.orig 2017-05-01 09:50:10 UTC
+++ cad_source/components/zebase/uzbpaths.pas
@@ -19,7 +19,8 @@
unit uzbpaths;
{$INCLUDE def.inc}
interface
-uses uzbtypes,Masks,LCLProc,uzbtypesbase,{$IFNDEF DELPHI}LazUTF8,{$ENDIF}sysutils;
+uses uzbtypes,Masks,LCLProc,uzbtypesbase,{$IFNDEF DELPHI}LazUTF8,{$ENDIF}
+{$IFDEF UNIX}baseunix,{$ENDIF}sysutils;
type
TFromDirIterator=procedure (filename:GDBString);
TFromDirIteratorObj=procedure (filename:GDBString) of object;
@@ -35,7 +36,7 @@ function GetPartOfPath(out part:GDBStrin
procedure FromDirIterator(const path,mask,firstloadfilename:GDBSTring;proc:TFromDirIterator;method:TFromDirIteratorObj);
procedure FromDirsIterator(const path,mask,firstloadfilename:GDBString;proc:TFromDirIterator;method:TFromDirIteratorObj);
-var ProgramPath,SupportPath,TempPath:gdbstring;
+var ProgramPath,SupportPath,TempPath,UserPath:gdbstring;
implementation
//uses log;
function FindInPaths(Paths,FileName:GDBString):GDBString;
@@ -147,11 +148,19 @@ begin
DebugLn(sysutils.Format('[FILEOPS]FindInSupportPath: file not found:"%s"',[{$IFNDEF DELPHI}utf8tosys{$ENDIF}(FileName)]));
end;
function ExpandPath(path:GDBString):GDBString;
+{$IFDEF UNIX}var sb:stat;{$ENDIF}
begin
if path='' then
result:=programpath
else if path[1]='*' then
- result:=programpath+copy(path,2,length(path)-1)
+begin
+{$IFDEF UNIX}
+ result:=UserPath+copy(path,2,length(path)-1);
+ if ((fpstat(result,sb) = 0) and fpS_ISDIR(sb.st_mode))
+ or not FileExists(result) then
+{$ENDIF}
+ result:=programpath+copy(path,2,length(path)-1);
+end
else result:=path;
result:=StringReplace(result,'/', PathDelim,[rfReplaceAll, rfIgnoreCase]);
if DirectoryExists({$IFNDEF DELPHI}utf8tosys{$ENDIF}(result)) then
@@ -242,4 +251,10 @@ initialization
if (TempPath[length(TempPath)]<>PathDelim)
then
TempPath:=TempPath+PathDelim;
+{$IFDEF UNIX}
+ UserPath:=GetUserDir+'.zcad/';
+ ForceDirectories(UserPath+'autosave');
+ ForceDirectories(UserPath+'components');
+ ForceDirectories(UserPath+'rtl');
+{$ENDIF}
end.

View File

@ -0,0 +1,47 @@
--- cad_source/other/AGraphLaz/Vectors/ExtSys.pas.orig 2017-05-01 09:49:55 UTC
+++ cad_source/other/AGraphLaz/Vectors/ExtSys.pas
@@ -10,7 +10,7 @@ interface
uses
{$IFDEF V_WIN32}{$ENDIF}
- {$IFDEF LINUX}{$IFDEF V_DELPHI}Libc{$ELSE}Linux{,cmem}{$ENDIF},{$ENDIF}
+ {$IFDEF FREEBSD}{$IFDEF V_DELPHI}Libc{$ELSE}unixtype,sysctl{,cmem}{$ENDIF},{$ENDIF}
SysUtils, {$IFDEF V_D4}SysConst, {$ENDIF}ExtType, VectErr{$IFNDEF LINUX}, Windows{$ENDIF};
const
@@ -574,12 +574,13 @@ begin
end;
Result:=MemSize;
{$ELSE}
-{$IFDEF LINUX}
+{$IFDEF FREEBSD}
var
- SI: TSysInfo;
+ page_count, pagesize : UInt32;
+ len : size_t = sizeof(UInt32);
begin
- if sysinfo(@SI){IFDEF V_DELPHI} = 0{ENDIF} then
- Result:=SI.totalram
+ if (FPsysctlbyname('hw.pagesize', @pagesize, @len, nil, 0) {IFDEF V_DELPHI} = 0{ENDIF}) and (FPsysctlbyname('vm.stats.vm.v_page_count', @page_count, @len, nil, 0){IFDEF V_DELPHI} = 0{ENDIF}) then
+ Result:=page_count*pagesize
else
Result:=0;
{$ELSE}
@@ -598,12 +599,13 @@ begin
GlobalMemoryStatus({$IFDEF V_FREEPASCAL}@{$ENDIF}MemoryStatus);
Result:=MemoryStatus.dwAvailPhys;
{$ELSE}
-{$IFDEF LINUX}
+{$IFDEF FREEBSD}
var
- SI: TSysInfo;
+ free_count, pagesize : UInt32;
+ len : size_t = sizeof(UInt32);
begin
- if sysinfo(@SI){IFDEF V_DELPHI} = 0{ENDIF} then
- Result:=SI.freeram
+ if (FPsysctlbyname('hw.pagesize', @pagesize, @len, nil, 0) {IFDEF V_DELPHI} = 0{ENDIF}) and (FPsysctlbyname('vm.stats.vm.v_free_count', @free_count, @len, nil, 0){IFDEF V_DELPHI} = 0{ENDIF}) then
+ Result:=free_count*pagesize
else
Result:=0;
{$ELSE}

View File

@ -0,0 +1,11 @@
--- cad_source/zcad.lpi.orig 2017-05-01 09:50:07 UTC
+++ cad_source/zcad.lpi
@@ -220,7 +220,7 @@
<PackageName Value="AnchorDocking"/>
</Item15>
<Item16>
- <PackageName Value="LazOpenGLContext"/>
+ <Filename Value="openglcontext.pas"/>
</Item16>
<Item17>
<PackageName Value="LCL"/>

View File

@ -0,0 +1,17 @@
--- cad_source/zcad/commands/uzccombase.pas.orig 2017-05-01 09:49:51 UTC
+++ cad_source/zcad/commands/uzccombase.pas
@@ -332,7 +332,14 @@ begin
itautoseve:=false;
if operands='QS' then
begin
+{$IFDEF UNIX}
+ // On Unix, force saving under ~/.zcad/autosave
+ s1:=sysvar.SAVE.SAVE_Auto_FileName^;
+ if s1[1]='*' then
+ s1:=UserPath+copy(s1,2,length(s1)-1);
+{$ELSE}
s1:=ExpandPath(sysvar.SAVE.SAVE_Auto_FileName^);
+{$ENDIF}
s:=rsAutoSave+': '''+s1+'''';
HistoryOutStr(s);
itautoseve:=true;

View File

@ -0,0 +1,20 @@
--- cad_source/zcad/commands/uzccominterface.pas.orig 2017-05-01 09:49:51 UTC
+++ cad_source/zcad/commands/uzccominterface.pas
@@ -477,7 +477,7 @@ var
begin
try
// create a new xml config file
- filename:=utf8tosys(ProgramPath+'components/defaultlayout.xml');
+ filename:=utf8tosys(UserPath+'components/defaultlayout.xml');
SaveLayoutToFile(filename);
exit;
XMLConfig:=TXMLConfigStorage.Create(filename,false);
@@ -702,7 +702,7 @@ var
begin
mem.init({$IFDEF DEBUGBUILD}'{A1891083-67C6-4C21-8012-6D215935F6A6}',{$ENDIF}1024);
SysVarUnit^.SavePasToMem(mem);
- mem.SaveToFile(expandpath(ProgramPath+'rtl/sysvar.pas'));
+ mem.SaveToFile(expandpath(UserPath+'rtl/sysvar.pas'));
mem.done;
result:=cmd_ok;
end;

View File

@ -0,0 +1,11 @@
--- cad_source/zcad/gui/uzcmainwindow.pas.orig 2017-05-01 09:49:49 UTC
+++ cad_source/zcad/gui/uzcmainwindow.pas
@@ -693,7 +693,7 @@ begin
mem.init({$IFDEF DEBUGBUILD}'{71D987B4-8C57-4C62-8C12-CFC24A0A9C9A}',{$ENDIF}1024);
SavedUnit^.SavePasToMem(mem);
- mem.SaveToFile(expandpath(ProgramPath+'rtl'+PathDelim+'savedvar.pas'));
+ mem.SaveToFile(expandpath(UserPath+'rtl'+PathDelim+'savedvar.pas'));
mem.done;
end;

View File

@ -0,0 +1,37 @@
--- cad_source/zcad/uzclog.pas.orig 2017-05-01 09:49:46 UTC
+++ cad_source/zcad/uzclog.pas
@@ -21,10 +21,11 @@ unit uzclog;
{$mode objfpc}{$H+}
interface
uses UGDBOpenArrayOfByte,gzctnrvectordata,gzctnrstl,LazLoggerBase,
+ {$IFDEF UNIX}uzbpaths,{$ENDIF}
LazLogger,strutils,sysutils{$IFNDEF DELPHI},LazUTF8{$ENDIF};
const {$IFDEF DELPHI}filelog='log/zcad_delphi.log';{$ENDIF}
{$IFDEF FPC}
- {$IFDEF LINUX}filelog='log/zcad_linux.log';{$ENDIF}
+ {$IFDEF UNIX}filelog='zcad_unix.log';{$ENDIF}
{$IFDEF WINDOWS}filelog='log/zcad_windows.log';{$ENDIF}
{$ENDIF}
lp_IncPos=1;
@@ -131,7 +132,9 @@ var
begin
if assigned(SplashTextOut) then
SplashTextOut(s,true);
- logname:={$IFNDEF DELPHI}SysToUTF8{$ENDIF}(ExtractFilePath(paramstr(0)))+filelog+'hard';
+ logname:={$IFNDEF DELPHI}SysToUTF8{$ENDIF}
+ ({$IFDEF UNIX}UserPath{$ELSE}ExtractFilePath(paramstr(0)){$ENDIF})
+ +filelog+'hard';
FileHandle:=0;
if not fileexists({$IFNDEF DELPHI}UTF8ToSys{$ENDIF}(logname)) then
FileHandle:=FileCreate({$IFNDEF DELPHI}UTF8ToSys{$ENDIF}(logname))
@@ -496,7 +499,9 @@ begin
end;
initialization
begin
- programlog.init({$IFNDEF DELPHI}SysToUTF8{$ENDIF}(ExtractFilePath(paramstr(0)))+filelog,LM_Error);
+ programlog.init({$IFNDEF DELPHI}SysToUTF8{$ENDIF}
+ ({$IFDEF UNIX}UserPath{$ELSE}ExtractFilePath(paramstr(0)){$ENDIF})
+ +filelog,LM_Error);
end;
finalization
programlog.done;

View File

@ -0,0 +1,10 @@
--- cad_source/zcad/uzcsysinfo.pas.orig 2017-05-01 09:49:45 UTC
+++ cad_source/zcad/uzcsysinfo.pas
@@ -196,6 +196,7 @@ begin
debugln('{N}SysParam.ProgramPath="%s"',[ProgramPath]);
//programlog.LogOutStr(format('SysParam.ProgramPath="%s"',[ProgramPath]),lp_OldPos,LM_Necessarily);
debugln('{N}SysParam.TempPath="%s"',[TempPath]);
+ debugln('{N}SysParam.UserPath="%s"',[UserPath]);
//programlog.LogOutStr(format('SysParam.TempPath="%s"',[TempPath]),lp_OldPos,LM_Necessarily);
debugln('{N}SysParam.ScreenX=%d',[SysParam.ScreenX]);
//programlog.LogOutStr(format('SysParam.ScreenX=%d',[SysParam.ScreenX]),lp_OldPos,LM_Necessarily);

4
cad/zcad/pkg-descr Normal file
View File

@ -0,0 +1,4 @@
ZCAD is simple CAD program with AutoCAD DXF 2000 file format support.
It is developed with Free Pascal and Lazarus.
https://sourceforge.net/projects/zcad/

326
cad/zcad/pkg-plist Normal file
View File

@ -0,0 +1,326 @@
zcad/blocks/el/general/DEVICE_CABLE_MARK.pas
zcad/blocks/el/general/DEVICE_CONNECTOR.pas
zcad/blocks/el/general/DEVICE_CONNECTOR_POINT.pas
zcad/blocks/el/general/DEVICE_CONNECTOR_SQUARE.pas
zcad/blocks/el/general/DEVICE_CONNECTOR_TERMINAL.pas
zcad/blocks/el/general/DEVICE_EL_CABLE_BREAK.pas
zcad/blocks/el/general/DEVICE_EL_CABLE_DOWN.pas
zcad/blocks/el/general/DEVICE_EL_CABLE_FROMDOWN.pas
zcad/blocks/el/general/DEVICE_EL_CABLE_FROMUP.pas
zcad/blocks/el/general/DEVICE_EL_CABLE_UP.pas
zcad/blocks/el/general/DEVICE_EL_CONTACTOR.pas
zcad/blocks/el/general/DEVICE_EL_LIGHT_FBULB.pas
zcad/blocks/el/general/DEVICE_EL_LIGHT_LBULB.pas
zcad/blocks/el/general/DEVICE_EL_LIGHT_SWITH.pas
zcad/blocks/el/general/DEVICE_EL_MOTOR.pas
zcad/blocks/el/general/DEVICE_EL_SHU.pas
zcad/blocks/el/general/DEVICE_EL_SHUV.pas
zcad/blocks/el/general/DEVICE_EL_SR.pas
zcad/blocks/el/general/DEVICE_EL_YARV.pas
zcad/blocks/el/general/DEVICE_KIP_ACTUATOR.pas
zcad/blocks/el/general/DEVICE_KIP_AUTOMATION_BOX.pas
zcad/blocks/el/general/DEVICE_KIP_CONNECTION_BOX.pas
zcad/blocks/el/general/DEVICE_KIP_DETECTOR.pas
zcad/blocks/el/general/DEVICE_KIP_DEVICE.pas
zcad/blocks/el/general/DEVICE_KIP_KDU.pas
zcad/blocks/el/general/DEVICE_KIP_KNOPKA.pas
zcad/blocks/el/general/DEVICE_KIP_KNOPKA_PKE.pas
zcad/blocks/el/general/DEVICE_KIP_KOROBKA.pas
zcad/blocks/el/general/DEVICE_KIP_KPV.pas
zcad/blocks/el/general/DEVICE_KIP_OZK.pas
zcad/blocks/el/general/DEVICE_KIP_SENSOR.pas
zcad/blocks/el/general/DEVICE_KIP_SOLENOID.pas
zcad/blocks/el/general/DEVICE_KIP_SPZH.pas
zcad/blocks/el/general/DEVICE_KIP_UKP.pas
zcad/blocks/el/general/DEVICE_KIP_VALVE.pas
zcad/blocks/el/general/DEVICE_OPS_AHL.pas
zcad/blocks/el/general/DEVICE_OPS_DISTRIBUTION_BOX.pas
zcad/blocks/el/general/DEVICE_OPS_GB2.pas
zcad/blocks/el/general/DEVICE_OPS_PKU.pas
zcad/blocks/el/general/DEVICE_OPS_SHPS.pas
zcad/blocks/el/general/DEVICE_OPS_UZ.pas
zcad/blocks/el/general/DEVICE_OS_DAT_BGB.pas
zcad/blocks/el/general/DEVICE_OS_DAT_BGL.pas
zcad/blocks/el/general/DEVICE_OS_DAT_BGL2.pas
zcad/blocks/el/general/DEVICE_OS_DAT_BGLI.pas
zcad/blocks/el/general/DEVICE_OS_DAT_BGLR.pas
zcad/blocks/el/general/DEVICE_OS_DAT_BGOI.pas
zcad/blocks/el/general/DEVICE_OS_DAT_BGOR.pas
zcad/blocks/el/general/DEVICE_OS_DAT_BGT.pas
zcad/blocks/el/general/DEVICE_OS_ELLOCK.pas
zcad/blocks/el/general/DEVICE_OS_KNOPKA.pas
zcad/blocks/el/general/DEVICE_OS_READER.pas
zcad/blocks/el/general/DEVICE_PS_AR1.pas
zcad/blocks/el/general/DEVICE_PS_AR2.pas
zcad/blocks/el/general/DEVICE_PS_AR8.pas
zcad/blocks/el/general/DEVICE_PS_ARK_DEVICE.pas
zcad/blocks/el/general/DEVICE_PS_BIAD_RUPOR.pas
zcad/blocks/el/general/DEVICE_PS_BIAL.pas
zcad/blocks/el/general/DEVICE_PS_BIAS.pas
zcad/blocks/el/general/DEVICE_PS_BIASL.pas
zcad/blocks/el/general/DEVICE_PS_BRIZ.pas
zcad/blocks/el/general/DEVICE_PS_DAT_HAND.pas
zcad/blocks/el/general/DEVICE_PS_DAT_SMOKE.pas
zcad/blocks/el/general/DEVICE_PS_DAT_SMOKE_AVTON.pas
zcad/blocks/el/general/DEVICE_PS_DAT_SMOKE_FALSH.pas
zcad/blocks/el/general/DEVICE_PS_DAT_SMOKE_FALSH2.pas
zcad/blocks/el/general/DEVICE_PS_DAT_TERMO.pas
zcad/blocks/el/general/DEVICE_PS_ET.pas
zcad/blocks/el/general/DEVICE_PS_GB.pas
zcad/blocks/el/general/DEVICE_PS_KOROBKA.pas
zcad/blocks/el/general/DEVICE_PS_KPB.pas
zcad/blocks/el/general/DEVICE_PS_SP1.pas
zcad/blocks/el/general/DEVICE_PS_TABLO_ARROW.pas
zcad/blocks/el/general/DEVICE_PS_TABLO_EXIT.pas
zcad/blocks/el/general/DEVICE_PS_TABLO_EXIT_RESERVE.pas
zcad/blocks/el/general/DEVICE_PS_TABLO_PNVHODI.pas
zcad/blocks/el/general/DEVICE_PS_TABLO_PUHODI.pas
zcad/blocks/el/general/DEVICE_PS_UKVK.pas
zcad/blocks/el/general/DEVICE_PS_VUOS.pas
zcad/blocks/el/general/DEVICE_SPDS_AXIS.pas
zcad/blocks/el/general/DEVICE_SS_19.pas
zcad/blocks/el/general/DEVICE_SS_ATS.pas
zcad/blocks/el/general/DEVICE_SS_BIAS.pas
zcad/blocks/el/general/DEVICE_SS_MIC.pas
zcad/blocks/el/general/DEVICE_SS_PRICLOCK.pas
zcad/blocks/el/general/DEVICE_SS_RJSOCKET.pas
zcad/blocks/el/general/DEVICE_SS_RT.pas
zcad/blocks/el/general/DEVICE_SS_SECCLOCK.pas
zcad/blocks/el/general/DEVICE_SS_VCAM.pas
zcad/blocks/el/general/DEVICE_SS_VCAMTC.pas
zcad/blocks/el/general/_KIP.dxf
zcad/blocks/el/general/_OPS.dxf
zcad/blocks/el/general/_connector.dxf
zcad/blocks/el/general/_el.dxf
zcad/blocks/el/general/_nok.dxf
zcad/blocks/el/general/_spds.dxf
zcad/blocks/el/general/_ss.dxf
zcad/blocks/el/general/zcadblocks.lst
zcad/blocks/ops/PS_DAT_SMOKE.dxf
zcad/blocks/ops/PS_DAT_TERMO.dxf
zcad/components/22inch_1680x1050.xml
zcad/components/_sys.dxf
zcad/components/autorun.cmd
zcad/components/defaultlayout.xml
zcad/components/defaultlayoutbackup.xml
zcad/components/empty.dxf
zcad/components/klayout.xml
zcad/components/logo.png
zcad/components/main.sf
zcad/components/palette.rgb
zcad/components/undocked.xml
zcad/components/vdock.xml
zcad/components/zcad.lin
zcad/fonts/GEWIND.SHX
zcad/fonts/OpenGostTypeA-Regular.ttf
zcad/fonts/OpenGostTypeB-Regular.ttf
zcad/fonts/_mipGost.shx
zcad/fonts/ltypeshp.shx
zcad/images/basket.png
zcad/images/bug.png
zcad/images/dxf.png
zcad/images/freze.png
zcad/images/lock.png
zcad/images/minus.png
zcad/images/navgroup.png
zcad/images/navigator.ima
zcad/images/off.png
zcad/images/ok.png
zcad/images/on.png
zcad/images/ondiagram.png
zcad/images/onplan.png
zcad/images/plus.png
zcad/images/print.png
zcad/images/purge.png
zcad/images/refresh.png
zcad/images/unfreze.png
zcad/images/unlock.png
zcad/images/unprint.png
zcad/languages/anchordockstr.ru.po
zcad/languages/lclstrconsts.ru.po
zcad/languages/zcad.po
zcad/languages/zcad.ru.po
zcad/menu/BMP/1.bmp
zcad/menu/BMP/El_Wire.bmp
zcad/menu/BMP/about.bmp
zcad/menu/BMP/addtoowner.bmp
zcad/menu/BMP/arc.bmp
zcad/menu/BMP/array.bmp
zcad/menu/BMP/autocable.bmp
zcad/menu/BMP/bedit.bmp
zcad/menu/BMP/bottom.bmp
zcad/menu/BMP/circle.bmp
zcad/menu/BMP/circle2p.bmp
zcad/menu/BMP/circle3p.bmp
zcad/menu/BMP/circlecd.bmp
zcad/menu/BMP/close.bmp
zcad/menu/BMP/colors.bmp
zcad/menu/BMP/copy.bmp
zcad/menu/BMP/copyclip.bmp
zcad/menu/BMP/copyclipbase.bmp
zcad/menu/BMP/cutclip.bmp
zcad/menu/BMP/dimaligned.bmp
zcad/menu/BMP/dimdiametric.bmp
zcad/menu/BMP/dimlinear.bmp
zcad/menu/BMP/dimradial.bmp
zcad/menu/BMP/dimstyles.bmp
zcad/menu/BMP/dist.bmp
zcad/menu/BMP/el_cable.bmp
zcad/menu/BMP/el_leader.bmp
zcad/menu/BMP/erase.bmp
zcad/menu/BMP/exit.bmp
zcad/menu/BMP/find.bmp
zcad/menu/BMP/help.bmp
zcad/menu/BMP/insert.bmp
zcad/menu/BMP/isone.bmp
zcad/menu/BMP/isonw.bmp
zcad/menu/BMP/isose.bmp
zcad/menu/BMP/isosw.bmp
zcad/menu/BMP/layer.bmp
zcad/menu/BMP/left.bmp
zcad/menu/BMP/line.bmp
zcad/menu/BMP/linestyles.bmp
zcad/menu/BMP/load.bmp
zcad/menu/BMP/lwt.bmp
zcad/menu/BMP/magnet.bmp
zcad/menu/BMP/main.png
zcad/menu/BMP/matchprop.bmp
zcad/menu/BMP/mirror.bmp
zcad/menu/BMP/move.bmp
zcad/menu/BMP/mvarman.bmp
zcad/menu/BMP/new.bmp
zcad/menu/BMP/noimage.bmp
zcad/menu/BMP/one.bmp
zcad/menu/BMP/options.bmp
zcad/menu/BMP/osnap.bmp
zcad/menu/BMP/pandown.bmp
zcad/menu/BMP/panleft.bmp
zcad/menu/BMP/panright.bmp
zcad/menu/BMP/panup.bmp
zcad/menu/BMP/pasteclip.bmp
zcad/menu/BMP/perspective.bmp
zcad/menu/BMP/pline.bmp
zcad/menu/BMP/polar.bmp
zcad/menu/BMP/polyed.bmp
zcad/menu/BMP/print.bmp
zcad/menu/BMP/ps.bmp
zcad/menu/BMP/rectangle.bmp
zcad/menu/BMP/redo.bmp
zcad/menu/BMP/regen.bmp
zcad/menu/BMP/removeautocable.bmp
zcad/menu/BMP/right.bmp
zcad/menu/BMP/rotate.bmp
zcad/menu/BMP/save.bmp
zcad/menu/BMP/saveas.bmp
zcad/menu/BMP/scale.bmp
zcad/menu/BMP/snaptoapparentintersection.bmp
zcad/menu/BMP/snaptocenter.bmp
zcad/menu/BMP/snaptoend.bmp
zcad/menu/BMP/snaptogrid.bmp
zcad/menu/BMP/snaptoinsert.bmp
zcad/menu/BMP/snaptointersection.bmp
zcad/menu/BMP/snaptomid.bmp
zcad/menu/BMP/snaptonearest.bmp
zcad/menu/BMP/snaptoparalel.bmp
zcad/menu/BMP/snaptoperpendicular.bmp
zcad/menu/BMP/snaptoquadrant.bmp
zcad/menu/BMP/snaptotangent.bmp
zcad/menu/BMP/spec.bmp
zcad/menu/BMP/sub.bmp
zcad/menu/BMP/superline.bmp
zcad/menu/BMP/text.bmp
zcad/menu/BMP/textstyles.bmp
zcad/menu/BMP/top.bmp
zcad/menu/BMP/treeview.bmp
zcad/menu/BMP/undo.bmp
zcad/menu/BMP/varman.bmp
zcad/menu/BMP/zoomall.bmp
zcad/menu/BMP/zoomin.bmp
zcad/menu/BMP/zoomout.bmp
zcad/menu/BMP/zoomwindow.bmp
zcad/menu/actions.acn
zcad/menu/default.cla
zcad/menu/electrotech.acn
zcad/menu/mainmenu.mn
zcad/programdb/_startup.pas
zcad/programdb/amk/ksspv.pas
zcad/programdb/argusspectr/оповещение/am.pas
zcad/programdb/argusspectr/оповещение/pu.pas
zcad/programdb/bastion/ибп/ibp.pas
zcad/programdb/bolid/ППКОП/ppkop.pas
zcad/programdb/bolid/ППКОП/pu.pas
zcad/programdb/danfoss/esm.pas
zcad/programdb/danfoss/kpi35.pas
zcad/programdb/irset/Шлейфовые извещатели/izv.pas
zcad/programdb/kamkabel/pvs.pas
zcad/programdb/kamkabel/svvp.pas
zcad/programdb/kazteplocontrol/tb.pas
zcad/programdb/manotom/mp3u.pas
zcad/programdb/owen/dts.pas
zcad/programdb/paritet/ksspv.pas
zcad/programdb/rele/rp21.pas
zcad/programdb/rubezh/Шлейфовые извещатели/C2000-4.pas
zcad/programdb/saranskcabel/1.pas
zcad/programdb/sevcabel/_EQ_SEVCABLEkvvg.csv
zcad/programdb/sevcabel/kvvg.pas
zcad/programdb/sevcabel/vvg.pas
zcad/programdb/sevcabel/vvgngafrls.pas
zcad/programdb/speccable/cable.pas
zcad/programdb/spkbtehno/cable.pas
zcad/programdb/ufimcabel/mks.pas
zcad/programdb/ООО Электротехника и Автоматика/op.pas
zcad/rtl/BlockCategory.cat
zcad/rtl/EqCategory.cat
zcad/rtl/cables.pas
zcad/rtl/connectors.pas
zcad/rtl/devicebase.pas
zcad/rtl/devices.pas
zcad/rtl/dwg/DrawingDeviceBase.pas
zcad/rtl/dwg/DrawingVars.pas
zcad/rtl/objcalc/opsmark.pas
zcad/rtl/objcalc/opsmarkdef.pas
zcad/rtl/objdefunits/cable.pas
zcad/rtl/objdefunits/elwire.pas
zcad/rtl/objdefunits/include/_addtocable.pas
zcad/rtl/objdefunits/include/_riser.pas
zcad/rtl/objdefunits/include/_riserlink.pas
zcad/rtl/objdefunits/include/_ss_socket.pas
zcad/rtl/objdefunits/include/bglsensor.pas
zcad/rtl/objdefunits/include/blocktype.pas
zcad/rtl/objdefunits/include/cablename.pas
zcad/rtl/objdefunits/include/connector.pas
zcad/rtl/objdefunits/include/firesensor.pas
zcad/rtl/objdefunits/include/objconnect.pas
zcad/rtl/objdefunits/include/objgroup.pas
zcad/rtl/objdefunits/include/objmaterial.pas
zcad/rtl/objdefunits/include/objname.pas
zcad/rtl/objdefunits/include/rip.pas
zcad/rtl/objdefunits/include/slcabagenmodul.pas
zcad/rtl/objdefunits/objroot.pas
zcad/rtl/objdefunits/superline.pas
zcad/rtl/objdefunits/trace.pas
zcad/rtl/savedvar.pas
zcad/rtl/styles/OPS_shleif.pas
zcad/rtl/styles/styles.pas
zcad/rtl/system.pas
zcad/rtl/sysvar.pas
zcad/rtl/sysvar_original.pas
zcad/sample/entities.dxf
zcad/sample/enttree/nonregular.dwg
zcad/sample/enttree/nonregular2.dwg
zcad/sample/enttree/regular.dwg
zcad/sample/test_dxf/3d_mount.dxf
zcad/sample/test_dxf/by_trace.csv
zcad/sample/test_dxf/by_trace.dxf
zcad/sample/test_dxf/by_trace.dxf.dbpas
zcad/sample/test_dxf/currenttest.dxf
zcad/sample/test_dxf/currenttest.dxf.dbpas
zcad/sample/test_dxf/em.dxf
zcad/sample/test_dxf/em.dxf.dbpas
zcad/sample/test_dxf/ops.dxf
zcad/sample/test_dxf/teapot.dxf
zcad/sample/test_dxf/test.dxf
zcad/sample/test_dxf/truetype.dxf
zcad/sample/zigzag.dxf
zcad/template/default.dxf
zcad/zcad