|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
19.04.2005, 17:10 | #1 | |
управление системой координат Автокад из Делфей
машиностроение
Москва
Регистрация: 22.03.2005
Сообщений: 56
|
||
Просмотров: 8006
|
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Предыдущая система координат всегда есть. Как минимум, это мировая.
Коллекция систем координат в AcadUCSs Но переключаться между системами не надо. Вы же создаете объектными методами, а в них всегда используется мировая система. Если установите ПСК, то надо еще и знать, в какой системе вернется пользовательский ввод. А это зависит от того, как написано "на выбор пользователя". На мой взгляд, сочетать работу из внешней DELPHI-программы с пользовательским вводом бесперспективно. Наткнетесь еще на кучу скользких мест и все равно будет "на соплях". Программа должна работать в AutoCAD и только при необходимости обращаться к дельфийскому приложению (например, через COM) для каких-то действий, которые удобнее делать в Delphi. Например, для выборки стандартных изделий из БД. Делается это очень просто. |
|||
|
||||
машиностроение Регистрация: 22.03.2005
Москва
Сообщений: 56
|
Цитата:
Цитата:
То есть линию создал, линию повернул, линию переместил и т.д. Хотя ладно, с этим я проэкспериментирую А вот поясните пожалуйста эту фразу: Цитата:
Вопросов много, буду очень благодарен, если ответите.. |
|||
|
|||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Цитата:
Вводить координаты и углы пользователь должен любым удобным способом (мышкой, с клавиатуры, с привязкой и т.п.), в любой удобной ему системе координат. А программа должна автоматически преобразовать координаты в МСК (объектные методы работают только с МСК). Цитата:
Цитата:
Очень советую: 1. Изучить acadauto.chm 2. Изучить, как работают в AutoCAD 3. Прочитать книгу "САПР на базе AutoCAD - Как это делается". С подобными вопросами сюда: http://www.kurganobl.ru/cad/forum/fo...hreads?forum=4 |
||||
|
||||
машиностроение Регистрация: 22.03.2005
Москва
Сообщений: 56
|
Цитата:
Код:
Цитата:
Код:
что значит п.2? а книга- просто ведро воды в моем случае |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Также очень хорошо подумать, надо ли некие загадочные изделия хранить в виде координат в базе. Может быть изобретаем велосипед? Посмотрите, что и как уже сделано. |
|||
|
||||
машиностроение Регистрация: 22.03.2005
Москва
Сообщений: 56
|
Да вот фишка в том, что работаю в автокаде я уже не первый год. Поэтому задачу поручили мне, а не программистам, дабы сделать все как можно удобнее для пользователя. Ну и потому, что им там лень, как я понял, этим заниматся
А загадочные изделия хранятся в базе координат уже не первое десятилетие. Их делали для другой чертежной среды, древней очень. В принципе сейчас это представляет собой набор текстовых файлов, но мы (точнее программеры). должны привести все в божеский вид, чтобы я мог с этой базой работать. А почему мы не пользуемся уже существующими базами. Ну, вопрос интересный. Дело в том, что у нас металлургическое КБ, в котором есть свои нормали стандартных изделий. Их вряд ли сыщешь в какой-либо базе. Конечно, болтики-гаечки можно найти и стандартные. а вот остальное.. И еще. Пользовался я как то надстройками для вставки стандартных изделий. Блин, меня хватило на чуть-чуть совсем. Всавка в неизвестно каких слоях происходит, какими-то дикими цветами (а у нас настройка плоттера по цветам линий идет). Хочется, чтобы пользователь задавал слой, в котором будут прочерчиватся основные линии, вспомогательные и т.д. Масштаб чтоб выбирал, ну и все прочее. ну вот, собственно, и все аргументы по этому поводу... Задача, по-моему, сложна лишь по своему объему, а так вроде ничего сложного.. На первый взгляд, кончно.. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Имел ввиду я не использование чужих "баз", а использование отработанных решений.
Использование древних данных из какой-то программы ведет в направлении, противоположном общему развитию AutoCAD. Если это такие ценные изображения, то их достаточно один раз по координатам преобразовать например, в блоки AutoCAD и больше не мучить пользователей. Дальнейшее может идти без участия программистов. Были ведь и древние программы, рисовавшие форматы. Изменение фамилии - программирование. Но никто за это не держится. Советую все-так прочитать книгу. Или хоть картинки просмотреть. Там есть ответы, как такое сделать легко и просто. |
|||
|
||||
машиностроение Регистрация: 22.03.2005
Москва
Сообщений: 56
|
Цитата:
2002 в 2005? Цитата:
Цитата:
Ну а вообще-то, если по серьезному. В базе хрананятся не координаты примитивов. Там хранятся размеры, которые достаточны человеку для того, чтобы начертить деталь; самого алгоритма черчения там нет. Мне кажется, что если хочется все-таки использовать эту базу, то нужно описать как-то объект, что бы по имеющимся размерам создать чертеж и вставить его в положенное место под нужным углом и в нужном масштабе |
|||
|
||||
проектирование транспортных сооружений Регистрация: 26.04.2005
Москва
Сообщений: 107
|
Что касается черчения стандартных изделий.
Это я описывал в последней главе свей статьи: http://dwg.ru/art/1. Могу выслать готовый пример с поворотом стандартного изделия (делается это методом Код:
|
|||
|
||||
машиностроение Регистрация: 22.03.2005
Москва
Сообщений: 56
|
Спасибо большое
Я, честно говоря, с этой статьи и начинал, потому как ничего другого, особененно книги Зуева-Полещука, от которой все в восторге, воспринять не мог. Насчет поворота объектов. Если поворачивать, то это понятно, а если их там целое стадо? и разных типов? то есть циклом и массивом не обойдешься. Тут что-то прозвучало насчет пересчета координат, может, все таки это попроще будет.. Или по крайней мере функцию какую написать, пусть сама все и пересчитывает. Просто не очень сейчас хочется думать, как она будет выглядеть, может есть готовые решения. А насчет примера, то если можно, то на [email protected] вышлите, буду очень признателен И вообще, стоит ли серьезную программу строить именно по такому пути? Что то берут меня сомнения, хотя раньше и не сомневался. Для одного болтика код уже ого-го получился... |
|||
|
||||
проектирование транспортных сооружений Регистрация: 26.04.2005
Москва
Сообщений: 107
|
По-моему, не стоит, но иногда очень хочется
А вообще, громоздкий код может себя оправдать только при частом применении получившейся программы. Так, например, программировать параметрические конструкции выгодно только потому, что вы этим будете часто пользоваться. К примеру, армирование ростверка. Казалось бы, вот ерунда ... а времени и сил много занимает. Что же касается другого пути программирования под AUtoCAD - я другого не знаю. Если ваша программа должна начертить линию, то и в Delphi, и в VB, и в Си код будет приблезительно одинаков. А вообще совет: создавайте свой всопогательный модуль с классами и функциями, содержащими в себе часто повторяющийся код (для программирования под AutoCAD это очень акктуально). Пример я вам выслал. Удачи! |
|||
|
||||
проектирование транспортных сооружений Регистрация: 26.04.2005
Москва
Сообщений: 107
|
Забыл ответить про поворачивание множества объектов!
Как вариант, AcadEntity.Rotate(BasePoint, RotationAngle). Процедуру повторять для каждого создаваемого объета. При этом BasePoint, RotationAngle остаются постоянными для каждой группы объектов (это если без блоков). Или создавать блок. Программным образом он легко редактируется |
|||