Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дипломная работа.docx
Скачиваний:
12
Добавлен:
23.03.2022
Размер:
353.66 Кб
Скачать

1.3 Технология AutoCad .Net

В состав ObjectARX SDK входит также управляемый API, который часто называют AutoCAD .NET API. Это API представляет собой мощную и современную среду программирования. Поддерживает многочисленные языки (Visual Basic .NET, С#, F# и т.д.). Хотя у каждого языка программирования есть свои сильные стороны, C# является лучшим выбором для новичка. Этот язык прост в изучении и использовании, так как является наиболее удобным для чтения человека. С# предоставляет полный доступ к базе Microsoft .NET Framework.

Существует два основных способа взаимодействия AutoCAD и проекта, написанных с помощью .NET API:

  • Программа реализуется в виде отдельного исполняемого файла с работой с файлами AutoCAD через COM-интерфейсы библиотеки Autocad.Interpop.Common. Данный прием позволяет получить обычный исполняемый exe-файл, который будет работать с dwg-файлами через COM. Данный способ имеет свое право на существование, но весьма ограничен функционально из-за малого числа доступных способов "воздействия" на чертеж и не рекомендуется в большинстве случаев.

  • В виде расширения (plugin) AutoCAD. Результатом работы будет dll-файл, который подгружается в AutoCAD командой "netload" и определяет новые команды (операции) или новое поведение стандартных операций. [7]

Для того, чтобы приступить к созданию плагина на .NET, понадобятся следующие компоненты:

  • AutoCAD. Или любой другой продукт на базе AutoCAD;

  • Среда разработки Microsoft Visual Studio;

  • ObjectARX SDK. Содержит в себе документацию для AutoCAD .NET API и некоторые важные файлы, на которые будет ссылаться наш проект Visual Studio. Он также включает в себя ряд примеров проектов .NET.

Существует четыре основных dll-файла AutoCAD .NET API, которые необходимы при создание плагина:

  • AcDbMgd.dll. Используется для работы с объектами файла чертежа;

  • AcMgd.dll. Используется для работы с самим приложением AutoCAD;

  • AcCui.dll. Используется для работы с файлами пользовательских настроек;

  • AcCoreMgd.dll Позаимствовал часть функционала из предыдущих dll-файлов.

Глава 2. Практическая часть

2.1 Проектирование бд

Проектировать базу данных будем в Microsoft SQL Server 2017 с использованием Microsoft SQL Server Management Studio 2017. SQL код представлен ниже:

-- Таблица цехов

CREATE TABLE Manufactory (

MName NVARCHAR(50) NOT NULL PRIMARY KEY,

MFuction NVARCHAR(MAX) NOT NULL );

-- Таблица сотрудников

CREATE TABLE Employess (

Id INT IDENTITY PRIMARY KEY,

FIO NVARCHAR(70) NOT NULL,

MWork NVARCHAR(50) NOT NULL,

Position NVARCHAR(50) NOT NULL,

FOREIGN KEY (MWork) REFERENCES Manufactory (MName) ON DELETE CASCADE );

-- Таблица пользователей системы

CREATE TABLE Users (

Id INT IDENTITY PRIMARY KEY,

Ulogin VARCHAR(20) NOT NULL,

Upassword VARCHAR(20) NOT NULL,

MUser NVARCHAR(50) NOT NULL,

FOREIGN KEY (MUser) REFERENCES Manufactory (MName) ON DELETE CASCADE );

-- Таблица материалов деталей

CREATE TABLE MaterialsForDetails (

MaName NVARCHAR(50) NOT NULL PRIMARY KEY );

-- Таблица размеров

CREATE TABLE Dimension (

NDimension NVARCHAR(5) NOT NULL PRIMARY KEY );

-- Таблица частей объектов

CREATE TABLE UnitObject (

UOName NVARCHAR(50) NOT NULL PRIMARY KEY );

-- Таблица объектов

CREATE TABLE Object (

OName NVARCHAR(50) NOT NULL PRIMARY KEY,

Classification NVARCHAR(50) NOT NULL,

Length INT NOT NULL,

Width INT NOT NULL,

SizeName NVARCHAR(5) NOT NULL,

ODrawing VARBINARY(MAX) NOT NULL,

FOREIGN KEY (SizeName) REFERENCES Dimension (NDimension) ON DELETE CASCADE );

-- Таблица литера

CREATE TABLE Liter (

LName NVARCHAR(2) NOT NULL PRIMARY KEY );

-- Таблица масштабов

CREATE TABLE Scale (

ScName NVARCHAR(10) NOT NULL PRIMARY KEY );

-- Таблица результатов расцеховки

CREATE TABLE SplittingDraw(

Id INT IDENTITY PRIMARY KEY,

SDUOName NVARCHAR(50) NOT NULL,

SDOName NVARCHAR(50) NOT NULL,

SDDrawing VARBINARY(MAX) NOT NULL,

SDMName NVARCHAR(50) NOT NULL,

FOREIGN KEY (SDUOName) REFERENCES UnitObject (UOName) ON DELETE CASCADE,

FOREIGN KEY (SDOName) REFERENCES Object (OName) ON DELETE CASCADE,

FOREIGN KEY (SDMName) REFERENCES Manufactory (MName) ON DELETE CASCADE );

-- Таблица деталей

CREATE TABLE Details (

Id INT IDENTITY PRIMARY KEY,

DeName NVARCHAR(50) NOT NULL,

DeNotation NVARCHAR(50) NOT NULL,

DeMaterial NVARCHAR(50) NOT NULL,

DeLiter NVARCHAR(2) NOT NULL,

Weight INT NOT NULL,

DeScale NVARCHAR(10) NOT NULL,

NDraw INT NOT NULL,

QDraw INT NOT NULL,

DeFactory NVARCHAR(50) NOT NULL,

DeDrawing VARBINARY(MAX) NOT NULL,

FOREIGN KEY (DeMaterial) REFERENCES MaterialsForDetails (MaName) ON DELETE CASCADE,

FOREIGN KEY (DeLiter) REFERENCES Liter (LName) ON DELETE CASCADE,

FOREIGN KEY (DeScale) REFERENCES Scale (ScName) ON DELETE CASCADE,

FOREIGN KEY (DeFactory) REFERENCES Manufactory (MName) ON DELETE CASCADE );

-- Таблица доп. информации к чертежу

CREATE TABLE DetailsAddInfo (

Id INT IDENTITY PRIMARY KEY,

IdDetal INT NOT NULL,

DAIName NVARCHAR(MAX) NOT NULL,

FOREIGN KEY (IdDetal) REFERENCES Details (Id) ON DELETE CASCADE )

Рис 1. Структура БД в MS SQL

Таблица 1. Структура таблицы «MaterialsForDetails»

Атрибут

Основной тип

Ключ

Описание

MaName

NVARCHAR(50)

PK

Название материала

Таблица 2. Структура таблицы «Manufactory»

Атрибут

Основной тип

Ключ

Описание

MName

NVARCHAR(50)

PK

Название цеха

MFuction

NVARCHAR(MAX)

-

Задачи цеха

Таблица 3. Структура таблицы «Employess»

Атрибут

Основной тип

Ключ

Описание

Id

INT

PK

Уникальный идентификатор строки

FIO

NVARCHAR(70)

-

ФИО сотрудника

MWork

NVARCHAR(50)

FK

Место работы сотрудника

Position

NVARCHAR(50)

-

Должность сотрудника

Таблица 4. Структура таблицы «Users»

Атрибут

Основной тип

Ключ

Описание

Id

INT

PK

Уникальный идентификатор строки

Ulogin

VARCHAR(20)

-

Логин сотрудника

Upassword

VARCHAR(20)

-

Пароль сотрудника

MUser

NVARCHAR(50)

FK

Место работы сотрудника

Таблица 5. Структура таблицы «Dimension»

Атрибут

Основной тип

Ключ

Описание

NDimension

NVARCHAR(5)

PK

Название размера

Таблица 6. Структура таблицы «UnitObject»

Атрибут

Основной тип

Ключ

Описание

UOName

NVARCHAR(50)

PK

Название части объекта

Таблица 7. Структура таблицы «Litter»

Атрибут

Основной тип

Ключ

Описание

LName

NVARCHAR(2)

PK

Название литера

Таблица 8. Структура таблицы «Scale»

Атрибут

Основной тип

Ключ

Описание

ScName

NVARCHAR(10)

PK

Название масштаба

Таблица 9. Структура таблицы «Object»

Атрибут

Основной тип

Ключ

Описание

OName

NVARCHAR(50)

PK

Название объекта

Classification

NVARCHAR(50)

-

Классификация объекта

Length

INT

-

Длина объекта

Width

INT

-

Ширина объекта

SizeName

NVARCHAR(5)

FK

Размерность объекта

ODrawing

VARBINARY(MAX)

-

Чертеж объекта

Таблица 10. Структура таблицы «SplittingDraw»

Атрибут

Основной тип

Ключ

Описание

Id

INT

PK

Уникальный идентификатор строки

SDUOName

NVARCHAR(50)

FK

Название части объекта

SDOName

NVARCHAR(50)

FK

Название объекта

SDDrawing

VARBINARY(MAX)

-

Чертеж

SDMName

NVARCHAR(50)

FK

Название цеха изготовителя

Таблица 11. Структура таблицы «Details»

Атрибут

Основной тип

Ключ

Описание

Id

INT

PK

Уникальный идентификатор строки

DeName

NVARCHAR(50)

-

Название детали

DeNotation

NVARCHAR(50)

-

Назначение детали

DeMaterial

NVARCHAR(50)

FK

Материал детали

DeLiter

NVARCHAR(2)

FK

Литера детали

Weight

INT

-

Масса детали

DeScale

NVARCHAR(10)

FK

Масштаб детали

NDraw

INT

-

Номер листа

QDraw

INT

-

Кол-во листов

DeFactory

NVARCHAR(50)

FK

Цех изготовитель детали

DeDrawing

VARBINARY(MAX)

-

Чертеж детали

Таблица 12. Структура таблицы «DetailsAddInfo»

Атрибут

Основной тип

Ключ

Описание

Id

INT

PK

Уникальный идентификатор строки

IdDetal

VARCHAR(20)

FK

Идентификатор детали

DAIName

VARCHAR(20)

-

Доп. информация о детали

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]