Как создать в 2d изгиб трубы на 90 градусов?
Форумы CADUser → Autodesk → AutoCAD → Как создать в 2d изгиб трубы на 90 градусов?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщения 5
#1 Тема от Oleg 25 декабря 2006г. 17:43:53
Тема: Как создать в 2d изгиб трубы на 90 градусов?
Подскажите пожалуйста, как можно изогнуть трубу на 90 градусов? Как ни пытаюсь — все криво получается!
#2 Ответ от kpblc 25 декабря 2006г. 17:46:53
Re: Как создать в 2d изгиб трубы на 90 градусов?
А что выступает в качестве трубы? Полилиния? Мультилиния? Несколько разных элементов? Объек ABS?
Или имеется в виду реальная труба? 😉
#3 Ответ от Oleg 25 декабря 2006г. 17:56:43
Re: Как создать в 2d изгиб трубы на 90 градусов?
Вот у меня иду 2 параллельные линии (стенки одной трубы), перпендикулярно им еще 2 параллельные линии, и нужно сделать их пересечение плавным. Трубы одинакового диаметра.. А что там с полилиниями, мультилиниями — это пока для меня загадка 🙂 Я просто не представляю, какие лучше линии использовать и как это сделать.
Смоделировать 3D трубу с плавными изгибами во всех плоскостях
Добрый день. Autocad 2012.
Прекрасно получается изогнутая труба из полилинии построенной из отрезков соединенных дугами. Когда это является одним элементом — выдавливаем окружность и дело сделано.
Когда мне нужно построить, допустим, куб из труб со соглаженными углами, как я должен поступить?
Строю 3д полилинию, обрезаю углы, соединяю дугами, соединить в один элемент нельзя. Думал — мелочь, но не тут то было. При соединении дугами имеются неточности незаметные глазу, которые при выдавливании окружности превращаются в огроменные зазоры. Да и выдавливать приходится каждый отвод.
Может это строится из блоков труб и отводов, которые стыкуются между собой? С этим у меня тоже проблемы — сложно подогнать один объект к другому по трем плоскостям.
Вобщем, прощу помощи и советов.
Просмотров: 20482
LISP, C# (ACAD 200[9,12,13,14])
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,810
Сообщение от aspire
сложно подогнать один объект к другому по трем плоскостям.
Попробуй команду _.align (только смотри на запросы, которые AutoCAD выдает)
__________________
Моя библиотека lisp-функций
—
Обращение ко мне — на «ты».
Все, что сказано — личное мнение.
Кулик Алексей aka kpblc |
Посмотреть профиль |
Посетить домашнюю страницу Кулик Алексей aka kpblc |
Найти ещё сообщения от Кулик Алексей aka kpblc |
Регистрация: 21.01.2013
Сообщений: 18
Сообщение от Кулик Алексей aka kpblc
Попробуй команду _.align
Спасибо. Значит ли это, что нормального (быстрого) способа построить трубу вдоль линии нет?
С привязкой объектов нет проблем когда, допустим, срез отвода стыкуется на срез трубы. Проблемы возникают, когда есть необходимость воткнуть отвод или расширение в центр трубы — там уже не привязаться к центру среза.
Котло- и реакторостроение
Регистрация: 25.02.2010
Сообщений: 807
aspire, Если честно я не понял задачу. Можете выложить файл с примером.
Построить трубу вдоль линии с помощью команды Сдвиг (по анг. sweep).
Есть отличнейший лисп, который лично мне экономит просто гигантское количество времени. xpipe.
Поищите по форуму.
__________________
AutoCad 2011 -> AutoCad 2013
Регистрация: 15.10.2010
Сообщений: 175
Потом команда Оболочка и все.
shuttermage |
Посмотреть профиль |
Найти ещё сообщения от shuttermage |
Регистрация: 15.10.2010
Сообщений: 175
Или так?
Принципиальной разницы нет. Без всяких лиспов.
PS: Все что нужно — уметь строить оси трубы.
Далее сдвиг окружности (Окружностей по сегментам) -> Анализ взаимодействий (ВЗАИМОД)-> РАЗРЕЗ с опцией 3т, точки с тел пересечения -> Оболочка. Готово.
Последний раз редактировалось shuttermage, 16.12.2014 в 11:18 .
shuttermage |
Посмотреть профиль |
Найти ещё сообщения от shuttermage |
Регистрация: 21.01.2013
Сообщений: 18
Сообщение от Astartes
Есть отличнейший лисп,
асм, си, с++, перл. — все языки изучались когда была необходимость кодить именно на каком-то из них. лисп я не переживу. тем более для того чтобы трубы рисовать
Сообщение от shuttermage
Не совсем. Моя ошибка, куб — плохой пример.
Ну представьте себе линию, допустим, 2 м по оси Х, 2 м по оси У, 2 м по оси Z. Изгибы должны быть по радиусу, допустим, 100 мм. Как сделать из нее трубу, диаметром 38 мм? Выдавливать (сдвигать) окружность по каждому единичному отрезку (дуге) я уже умею, но это бред.
Подскажите, пожалуйста, как максимально просто (в минимальное количество движений) проделать данную работу с максимальной точностью. Спасибо.
Регистрация: 21.03.2007
Санкт-Петербург
Сообщений: 2,661
Сообщение от aspire
Моя ошибка, куб — плохой пример.
Ну представьте себе линию, допустим, 2 м по оси Х, 2 м по оси У, 2 м по оси Z. Изгибы должны быть по радиусу, допустим, 100 мм. Как сделать из нее трубу, диаметром 38 мм?
Слушай aspire, втрое описание твоей проблемы читаю не могу понять какую фигуру ты хочешь получит? На словах у тебя очень простые фигуры и даже не заслуживают тех усилий которые тебе предлагают.
Ты хоть на бумажке эскиз бы нарисовал.
Последний раз редактировалось RomaV, 18.12.2014 в 22:05 .
Регистрация: 21.01.2013
Сообщений: 18
Да не нужно мне никакой фигуры.
Мне нужно понять алгоритм построения трубы вдоль плавной линии проходящей через три оси координат.
Если мне нужно построить трубу вдоль линии в двух коорданатах, я делаю так: черчу полилинию + закругляю углы дугами + объединяю в одну полилинию + черчу окружность поперек оси + выдавить по траектории.
Как мне сделать нечто похожее, так же безгеморройно, если линия находится не на плоскости, и в двух-трех и более плоскостях?
Регистрация: 27.10.2010
Калининград
Сообщений: 246
Сообщение от aspire
Как мне сделать нечто похожее, так же безгеморройно, если линия находится не на плоскости, и в двух-трех и более плоскостях?
В чистом автокаде так сделать нельзя. трубы отлично и быстро рисуются 2D полилиниями в любых двух-трех и более плоскостях, как только привыкните к быстрой смене ПСК. Рекомендую повороты ПСК вокруг осей X,Y,Z на определенный угол или на 90 градусов, если вам надо работать в главных плоскостях XY, YZ или ZX. И конечно же лучше сразу рисовать полилинию, а потом скруглять все углы этой полилинии одинаковым радиусом за один прием (_fillet. задать радиус скругления. _select polyline)
Последний раз редактировалось onick, 17.12.2014 в 00:20 .
Регистрация: 21.01.2013
Сообщений: 18
onick, ок, спасибо. А как тогда мне плавно примкнуть к уже построенной линии из другой пплоскости? рисовать еще одну линию ей параллельную?
Регистрация: 27.10.2010
Калининград
Сообщений: 246
Заканчивайте полилинию отводом (а не прямым участком) перед сменой ПСК и пристыковывайте новую полилинию в другой плоскости к срезу отвода.
Thượng Tá Quân Đội Nhân Dân Việt Nam
Регистрация: 14.03.2005
44d32’44″С, 33d26’51″В
Сообщений: 13,381
В чистом автокаде так сделать нельзя. трубы отлично и быстро рисуются 2D полилиниями |
Трубы ааатлично моделируются в нескольких плоскостях. только для прямых участков надо использовать не полилинии, а отрезки (LINE).
черчу полилинию + закругляю углы дугами + объединяю в одну полилинию + черчу окружность поперек оси + выдавить по траектории. |
Чертить не полилинию, а отрезки.
лисп я не переживу. тем более для того чтобы трубы рисовать |
Ну делайте вручную, вместо того, чтобы просто последовательно указывать точки оси в пространстве и получать трехмерную трубу. И всякие фасонные части тоже вручную делайте.
Регистрация: 23.02.2004
Сообщений: 971
В свежих вериях AutoCAD (>2011) прекрасно работает команда СОЕДИНИТЬ (JOIN).
Рисуйте что угодно, отрезки неплохой вариант, сопрягайте их, а затем соединяйте.
Получите сплайн, по которому можно сдвигать, выдавливать.
__________________
Правильно сформулированный вопрос содержит 90% ответа.
Регистрация: 21.03.2007
Санкт-Петербург
Сообщений: 2,661
pan, команда-то СОЕДИНИТЬ (JOIN) работает, только по этому сплайну не выдавливается нихрена. По обычному сплайну искривлённому в 3-х плоскостях выдавливается, а по тому который получен командой JOIN — нет.
Хотя может с бубном потанцевать надо.
DWG 2013 | Чертеж1.dwg (540.3 Кб, 2775 просмотров) |
Регистрация: 27.10.2010
Калининград
Сообщений: 246
Сообщение от ShaggyDoc
Трубы ааатлично моделируются в нескольких плоскостях. только для прямых участков надо использовать не полилинии, а отрезки (LINE).
автокад априори рисует в одной плоскости XY, а несколько плоскостей получается только поворотом ПСК. Имелось ввиду что трубу за один раз нельзя нарисовать в нескольких плоскостях по примеру 3D полилинии. Рисовать линиями или полилиниями это личные приемы работ каждого, но все равно придется переходить в плоскость (ПСК) линий чтобы скруглить радиусами отводы и чтобы по этим линиям выдавить солиды (по линиям надо выдавливать отдельно по каждой линии и по каждой дуге, а по полилинии выдавливается один раз), поэтому во многих случаях, и особенно для начинающих, быстрее рисовать полилиниями.
Сообщение от pan
В свежих вериях AutoCAD (>2011) прекрасно работает команда СОЕДИНИТЬ (JOIN).
Рисуйте что угодно, отрезки неплохой вариант, сопрягайте их, а затем соединяйте.
Получите сплайн, по которому можно сдвигать, выдавливать.
Я попробовал, вроде не выдавливается солид по 3D сплайну. Да и для практических целей, чтобы быстро нарисовать любую трубу достаточно 2D инструментов и поворотов ПСК. Не встречался никогда с практическим применением 3D полилинии, может только для кабельщиков хорошо, чтобы сразу определить длину 3D линии.
Последний раз редактировалось onick, 17.12.2014 в 09:59 .
Регистрация: 15.10.2010
Сообщений: 175
Ну вообще тут вон лисп нужный советуют, или Автокад МЕР, если постоянно трубы рисовать. А если одну — две — три, то можно и сдвинуть по сегментам, это не бред, а функционал автокада, кнопки «Сделать все сразу красиво» никто не обещал.
—— добавлено через ~5 мин. ——
Сообщение от onick
автокад априори рисует в одной плоскости XY, а несколько плоскостей получается только поворотом ПСК. Имелось ввиду что трубу за один раз нельзя нарисовать в нескольких плоскостях по примеру 3D полилинии. Рисовать линиями или полилиниями это личные приемы работ каждого, но все равно придется переходить в плоскость (ПСК) линий чтобы скруглить радиусами отводы и чтобы по этим линиям выдавить солиды (по линиям надо выдавливать отдельно по каждой линии и по каждой дуге, а по полилинии выдавливается один раз), поэтому во многих случаях, и особенно для начинающих, быстрее рисовать полилиниями.
Априори Неверно.
Отрезками прекрасно рисует сразу в 3 координатах и даже потом нормально скругляет и сопрягает полученную геометрию. Неудобство в том, что не получается сдвинуть круг по всей траектории разом из-за механизма работы автокада.
Инструмент Полилиния — двумерный, как ни крути, нарисует в рабочей плоскости компланарную полилинию.
3д полилиния — только если нужно получить итоговую длину, но не работают скругления и фаски, очень неудобненько. В остальном фик знает зачем инструмент.
Последний раз редактировалось shuttermage, 17.12.2014 в 10:15 .
shuttermage |
Посмотреть профиль |
Найти ещё сообщения от shuttermage |
Как нарисовать дугу в Автокаде.
Как нарисовать дугу в Автокаде? Для этого в программе Автокад существует несколько способов.
В этом уроке мы рассмотрим:
- Построение дуги по трем точкам;
- Построение дуги по точкам начала, центра и конца;
- Построение дуги по точкам начала, центра и центральному углу;
- Построение дуги по точкам начала, конца и центральному углу;
- Редактирование дуги;
- Построение дуги программным путем.
Выбор способа построение дугу зависит от конкретных условий чертежа.
Построение дуги по трем точкам.
Если на чертеже имеются характерные три точки, через которые нужно провести дугу. См. Рис. 1
Рис. 1. Три точки.
Выбирают построение дуги по трем точкам. Это основная команда построение дуги, которая стоит по умолчанию. Чтобы ее запустить, на ленте выбираем вкладку « Главная » и щелкаем по кнопке « Дуга 3 точки ».
Рис. 2. Команда «Дуга 3 точки»
Туже самую команду можно запустить, если набрать в командной строке Д (или _arc ) и нажать < Enter >.
Появиться запрос: « Начальная точка дуги или [Центр]: »
Указываем на 1-ю точку и щелкаем левую кнопку мыши.
Затем на запрос: « Вторая точка дуги или [Центр/Конец]: »
Выбираем 2-ю точку
На запрос: « Конечная точка дуги: »
Выбираем 3-ю точку.
AutoCAD построит дугу. См. Рис. 3.
Рис. 3. Дуга построенная по 3 точкам.
Построение дуги по точкам начала, центра и конца дуги.
Нередко бывает, что дугу удобнее строить по точкам начала, центра и конца дуги. См. Рис. 4.
Рис. 4. Характерные точки.
На ленте, на вкладке « Главная » щелкаем по стрелке под надписью «Дуга». И в раскрывшемся списке выбираем строку: « Начало, центр, конец ».
Рис. 5. Команда «Дуга Начало, центр, конец».
На запрос: « Начальная точка дуги или [Центр] :»
Указываем на 1-ю точку и щелкаем левую кнопку мыши.
Затем на запрос: « Вторая точка дуги или [Центр/Конец]: _c Центр дуги :»
Указываем на центр дуги (точку «Ц»)
На запрос: « Конечная точка дуги или [Угол/Длина хорды]: »
Указываем 2-ю точку.
AutoCAD построит дугу. Радиус дуги равен расстоянию между точками 1 и Ц . См. Рис. 6.
Рис. 6. Дуга построенная по точкам начала, центра и конца дуги
Обратите внимание, что в начале, была запущена основная команда _acr .
Затем при запросе второй точки, Автокад сам автоматически выбрал опцию [ Центр ] из квадратных скобок _с
От сюда вытекает, другой способ построение дуги по точкам начала, центра и конца:
Запускаем основную команду _arc (по трем точкам).
На запрос: « Начальная точка дуги или [Центр]: »
Указываем точку 3.
Затем на запрос: « Вторая точка дуги или [Центр/Конец]: »
Щелкаем по опции [ Центр ] или в водим Ц и нажимаем
( вместо Ц можно было использовать _c , которая работает в любой версии AutoCAD. Ц работает только в русскоязычной версии.)
Появится запрос: « Центр дуги: »
Указываем точку «Ц» (центр дуги).
На запрос: « Конечная точка дуги или [Угол/Длина хорды]: »
Указываем точку 4.
AutoCAD построит дугу. Радиус дуги равен расстоянию между точками 3 и Ц . См. Рис. 7.
Рис. 7. Дуга построенная по точкам начала, центра и конца дуги
Обратите внимание, что дуга от начальной к конечной точки строится против часовой стрелки. Изменив последовательность указания этих точек, мы построим дугу с другой стороны от центра.
Построение дуги по точкам начала, центра и центральному углу.
Если Вы знаете угол поворота дуги. Ее можно построить по началу, центру и углу поворота.
На ленте, на вкладке « Главная » щелкаем по стрелке под надписью «Дуга». И в раскрывшемся списке выбираем строку: « Начало, центр, угол ». См. Рис. 8.
Рис. 8. Команда «Дуга Начало, центр, угол»
На запрос: « Начальная точка дуги или [Центр]: »
Указываем на 1-ю точку и щелкаем левую кнопку мыши.
Затем на запрос: « Вторая точка дуги или [Центр/Конец]: _c Центр дуги: »
Указываем на центр дуги (точку «Ц»)
На запрос: « Конечная точка дуги или [Угол/Длина хорды]: _a Центральный угол: »
Вводим 90 и нажимаем < Enter >.
AutoCAD построит дугу. Радиус дуги равен расстоянию между точками 1 и Ц . См. Рис. 9.
Рис. 9. Дуга построенная по точкам начала, центра и центральному углу
Внимательно изучив запросы в командной строке, мы без труда поймем какие опции и когда нам нужно выбирать, чтобы при запуске основной команды _arc проделать те же операции. Также аналогичную дугу мы можем построить по началу, концу и углу поворота дуги.
Построение дуги по точкам начала, конца и центральному углу.
На ленте, на вкладке « Главная » щелкаем по стрелке под надписью «Дуга». И в раскрывшемся списке выбираем строку: « Начало, центр, угол ».
Рис. 10. Команда «Дуга Начало, конец, угол»
На запрос: « Начальная точка дуги или [Центр]: »
Указываем на 1-ю точку и щелкаем левую кнопку мыши.
Затем на запрос: » Вторая точка дуги или [Центр/Конец]: _e Конечная точка дуги: »
Указываем точку 2.
На запрос:» Центр дуги или [Угол/Направление/Радиус]: _a Центральный угол: »
Вводим 90 и нажимаем < Enter >.
AutoCAD построит дугу. См. Рис. 11.
Рис. 11. Дуга построенная по точкам начала, конца и центральному углу
Если нужно, через эти же точки, построить дугу в половину окружности, центральный угол задаем равным 180 . См. Рис. 12.
Рис. 12. Дуга построенная по точкам начала, конца и центральному углу
Остальные способы построения дуги, на мой взгляд, используются реже. Поэтому, оставим их для самостоятельного изучения.
Редактирование дуги.
Иногда, когда дуга построена неверно, бывает легче ее отредактировать, чем удалять и строить новую. Давайте посмотрим, что мы можем сделать с уже существующей дугой:
Перемещение дуги за центральную ручку.
Чтобы переместить дугу на заданное расстояние (например на 200), щелкните по ней, так чтобы появились ручки . См. Рис. 13.
Рис. 13. Ручки дуги.
Затем щелкните по ручке расположенной в центре, так чтобы она стала красной . Отведите курсор мыши (дугу) в сторону желаемого перемещения. Наберите с клавиатуры 200 и нажмите < Enter >. См. Рис. 14.
Рис. 14. Перемещение за центральную ручку.
Дуга переместится в заданном направлении на заданное расстояние.
Перемещение дуги за другую ручку.
Чтобы, переместить дугу за другую ручку (не за центральную), нужно щелкнуть по ней так, чтобы она стала красной . Затем нажмите < Enter >(или пробел), переместите дугу в новое место и снова нажмите < Enter >. Дуга поменяет свое местоположение. См. Рис. 15.
Рис. 15. Перемещение за другую ручку.
Перемещение средней точки дуги.
Чтобы, изменить положение средней точки дуги, при сохранении положения крайних точек, щелкните по ней, так чтобы появились ручки. Затем, щелкните по средней точки так, чтобы она стала красной , измените ее местоположение и нажмите левую кнопку мыши. Например укажите точку 5 . См. рис. 16.
Рис. 16. Перемещение средней точки дуги.
Новая дуга будет проходить, через точки 1, 5, 3 . См. Рис. 17.
Рис. 17. Новая дуга.
Изменение радиуса дуги.
Если Вам нужно изменить радиус дуги и при этом сохранить величину центрального угла, то щелкните по ней, так чтобы появились ручки. Затем подведите указатель мыши к средней точки , и оставляйте его там пока не появятся список, в котором нужно выбрать « Радиус ». См. Рис.18.
Рис. 18. Список опций.
Затем, измените положение ручки, например, укажите точка 5 . AutoCAD построит дугу с новым радиусом. См. Рис. 19.
Рис. 19. Изменение радиуса дуги.
Изменение положение всех трех точек дуги.
Давайте отредактируем дугу, проходящую через точки 1,2,3 так, чтобы она проходила через точки 4,5,6 .
Щелкните по ней, так чтобы появились ручки .
Затем, выберете ручку в точку 1 так, чтобы она стала красной, переместите ее и выберите точку 4 . См. Рис. 20.
Рис. 20. Перемещение крайней ручки.
Далее, выберете ручку в точке 2 и переместите ее в точку 6 . См. Рис. 21.
Рис. 21. Перемещение крайней ручки.
Выберете среднюю ручку и укажите точку 5 . См. Рис. 22.
Рис. 22. Перемещение средней ручки.
Новая дуга проходит через точки 4, 5, 6 . См. Рис. 23.
Рис.23. Новая дуга.
Построение дуги программным путем.
Для тех, кто хочет создавать свои собственные команды в Автокад, мы рассмотрим, как построить дугу при помощи языка программирования LISP.
Построение дуги при помощи функции command.
Запустите редактор Visual LISP . В командной строке наберите VLIDE (илиVLISP) и нажмите < Enter >. См. Рис. 24.
Рис. 24. Команда VLIDE.
Откроется редактор Visual LISP.
В нем создаем новый файл и набираем следующие строки.
Для того, чтобы построить дугу по трем точка:
Запрашиваем координаты первой точки:
(setq p1 (getpoint "\nУкажите первую точку дуги:"))
getpoint – функция, которая просит пользователя задать координаты точки; "\nУкажите первую точку дуги:"– текст запроса, который увидеть пользователь; setq – функция, которая сохраняет заданные координаты точки в переменной р1.
Запрашиваем координаты второй точки относительно первой р1 :
(setq p2 (getpoint p1 "\nУкажите вторую точку дуги:"))
(command "_arc" p1 p2 (getpoint p2))
command – функция которая имитирует командную строку; "_arc" – стандартная команда Автокад (Дуга); р1 – переменная, в которой хранятся координаты первой точки дуги; р2 – переменная, в которой хранятся координаты второй точки дуги; (getpoint p2) – запрос координат третей точки относительно второй.
Для того, чтобы построить дугу точкам начала, центра, и конца дуги:
Запрашиваем координаты первой точки:
(setq p1 (getpoint "\nУкажите первую точку дуги:"))
getpoint – функция, которая просит пользователя задать координаты точки; "\nУкажите первую точку дуги:"– текст запроса, который увидеть пользователь; setq – функция, которая сохраняет заданные координаты точки в переменной р1.
Запрашиваем координаты центра дуги относительно точки р1:
(setq p2 (getpoint p1 "\nУкажите центр дуги:"))
(command "_arc" p1 "_c" p2 (getpoint p2))
command – функция которая имитирует командную строку; "_arc" – стандартная команда Автокад (Дуга); р1 – переменная, в которой хранятся координаты первой точки дуги; "_c" – меняет запрос второй точки на запрос центра дуги; р2 – переменная, в которой хранятся координаты центра дуги; (getpoint p2) – запрос координат конечной точки дуги относительно центра.
Преобразуем программу в команду AutoCAD.
В начале программы добавим функцию defun , придумаем имя новой команды ( m_arс ) и перечисляем все временные переменные:
(defun c:m_arс (/ p1 p2)
) ; end_defun
В конце программы добавим закрывающую скобку.
В результате получаем. См. Рис. 25.
Рис. 25. Программа построения дуги.
Давайте, проверим, как работает программа:
Нажмите на кнопку « Загрузить активное окно редактора ».
Затем на кнопку перехода в AutoCAD .
Для проверки на нарисовал несколько отрезков. См. Рис. 26.
Рис. 26. Характерные точки.
Введите в командной строке: m_arc и нажмите < Enter >.
На запрос: «Укажите первую точку дуги:»
Укажите точку 1.
На запрос: « Укажите вторую точку дуги: »
Укажите точку 2.
На запрос: « Конечная точка дуги: »
Укажите точку 3.
Программа построит дугу , проходящую через точки 1, 2, 3 .
Затем, на запрос « Укажите первую точку дуги: »
Укажите точку 4.
На запрос: « Укажите центр дуги: »
Укажите точку Ц.
На запрос: « Конечная точка дуги или [Угол/Длина хорды]: »
Укажите точку 3.
Программа построит дугу , проходящую через точки 4, 3, с центром в точке Ц . См. Рис. 27.
(defun c:m_arc (/ p1 p2) ;По трем точкам (setq p1 (getpoint "\nУкажите первую точку дуги:")) (setq p2 (getpoint p1 "\nУкажите вторую точку дуги:")) (command "_arc" p1 p2 (getpoint p2))
;По точкам начала, центра, и конца дуги (setq p1 (getpoint "\nУкажите первую точку дуги:")) (setq p2 (getpoint p1 "\nУкажите центр дуги:")) (command "_arc" p1 "_c" p2 (getpoint p2)) ); end_defun
Построение дуги при помощи функций расширения языка LISP.
Дугу, также можно построить при помощи VLA функций, которые являются расширением языка LISP.
Для этого добавляем строку:
(vl-load-com)
Которая загружает функции расширения (Vla-функции).
Затем строки, которые помогут нам получить указатель на имя пространства модели:
Получаем указатель на программу AutoCAD:
(setq acad_application (vlax-get-acad-object))
Затем, указатель на активный документ:
(setq active_document (vla-get-activedocument acad_application))
И наконец, указатель на пространство модели
(setq model_space (vla-get-modelspace active_document))
Vla функция построение дуги выглядит следующим образом:
(vla-addarc )
- место , где будет построена дуга; – координаты центра дуги, представленные в виде Variant; -радиус дуги; - начальный угол наклона к оси Х в радианах; - конечный угол наклона к оси Х в радианах.
Давайте пользователя попросим указать центр дуги:
(setq p1 (getpoint "\nУкажите центр дуги:"))
Попросим задать радиус:
(setq R (getint "\nЗадайте радиус дуги:"))
Построим дугу, произвольным образом, задав начальный и конечный углы:
(vla-addarc model_space (vlax-3d-point p1) R (/ pi -4) (/ pi 2))
model_space - место , где будет построена дуга (пространство модели); p1 – переменная, в которой хранятся координаты центра дуги, представленные в виде Variant; (vlax-3d-point p1) – функция vlax-3d-point преобразует координаты p1 к особому типу Variant; R - переменная, в которой хранятся радиус дуги; (/ pi -4)- начальный угол наклона к оси Х -45 градусов; (/ pi 2)- конечный угол наклона к оси Х 90 градусов.
Углы между различными направлениями и осью Х в градусах и радианах Вы можете на рис. 28.
Рис. 28. Углы наклона прямой.
Построим вторую дугу с радиусом на 150 единиц больше, чем первая:
(vla-addarc model_space (vlax-3d-point p1) (+ R 150) (/ pi -4) (/ pi 2))
Преобразуем программу в команду AutoCAD.
В начале программы добавим функцию defun , придумаем имя новой команды m_arс2 и перечисляем все временные переменные:
(defun c:m_arс2 (/ p1 R) ) ; end_defun
В конце программы добавим закрывающую скобку.
В результате получим. См. Рис. 29.
Рис. 29. Программа с Vla функциями.
Нажмите на кнопку « Загрузить активное окно редактора ».
Затем на кнопку перехода в AutoCAD .
В командной строке наберите команду m_arс2 и нажмите < Enter >.
На запрос: «Укажите центр дуги:»
Укажите любую точку (я указал крайнюю точку отрезка).
На запрос: «Задайте радиус дуги:»
Введите, например, 150 и нажмите < Enter >.
Новая команда построит две дуги. Одну радиусом 150 , другую радиусом 300 . См. Рис. 30.
Рис. 30. Две дуги.
(defun c:m_arc2 (/ p1 R) (vl-load-com) ; загружаем функции расширения (setq acad_object (vlax-get-acad-object)) (setq active_document (vla-get-activedocument acad_object)) (setq model_space (vla-get-modelspace active_document))
(setq p1 (getpoint "\nУкажите центр дуги:")) (setq R (getint "\nЗадайте радиус дуги:"))
(vla-addarc model_space (vlax-3d-point p1) R (/ pi -4) (/ pi 2)) (vla-addarc model_space (vlax-3d-point p1) (+ R 150) (/ pi -4) (/ pi 2)) ); end_defun
Свои, созданные, новые команды можно запускать также, как стандартные команды Автокад.
Для этого нужно сохранить файл программы, добавить его в список автоматической загрузки и создать для новой команды кнопку запуска.
Как это сделать рассмотрено в уроках:
На этом наш урок окончен. В нем рассказывалось Как нарисовать дугу в Автокаде.
Были рассмотрены следующие вопросы:
- Построение дуги по трем точкам;
- Построение дуги по точкам начала, центра и конца;
- Построение дуги по точкам начала, центра и центральному углу;
- Построение дуги по точкам начала, конца и центральному углу;
- Редактирование дуги;
- Построение дуги программным путем.
Если у Вас появились вопросы, задавайте их в комментариях.
Если Вы нашли что-то полезное на моем сайте не забудьте порекомендовать статью в социальных сетях.
Пишите в комментариях или мне на почту Ваши пожелания о том, какие статьи Вы хотели бы увидеть на моем сайте.
Хотите получать информацию о выходе новых статей. Оформляйте подписку.
Динамические блоки деталей трубопроводов (отводы, тройники, переходы, заглушки, фланцы, опоры).
Приведены динамические блоки отводов исполнения 2 по ГОСТ 17375-2001, ГОСТ 30753-2001, тройников исполнения 2 по ГОСТ 17376-2001, переходов исполнения 2 по ГОСТ 17378-2001, заглушек эллиптических исполнения 2 по ГОСТ 17379-2001, фланцев ГОСТ 12821-80*, опор под трубопровод типа КП по ОСТ 36-146-88, трубы. Блоки также дополнены типоразмерами для больших диаметров по ОТТ Транснефти (аналог ТУ 102-488-95). Блоки построены с использованием функции visibility-set для отображения различных видов деталей (вид сверху, фронтальный, профильный) и look-up для определения размеров. Таким образом блоки могут быть расширены за счет других диаметров, ГОСТов. Для блоков «Труба» можно задавать определенный уклон (блок поворачивается на расчетный угол), а также задавать маску (заслонение заднего фона). Для справки добавлен вид с параметрами блока: диаметр, длина, площадь наружной поверхности для опредения окраски.
Слои использованы из набора СТП для монтажных чертежей. Кого не устраивает, придется переопределять в редакторе блоков.
Также к файлу прилагается описание блоков, особенности использования.
Жду замечаний и предложений по применению блоков.
——
Спасибо Supermax и всем участвовавшим в разработке lisp`ов Excel->Lookup и Lookup->Excel, которые были использованы при создании блоков, разработку программы для внедрения дополнительных параметров Visibility Set.
——
1. Обновление 09.03.28. Переименованы названия видов, добавлен вид для перехода, подправлены проекции отвода, добавлены новые проекции для изображения тройников.
2. Обновление 09.04.02. Для отводов, тройников, переходов, заглушек и трубы добавлен выбор номинального давления. Значительно расширен блок «Фланец», в него введены почти все типоразмеры по ГОСТ 12821-80* и ГОСТ 12815-80*, добавлен выбор исполнения, для вида «параметры» приведены данные о количестве и номинальном диаметре болтов (шпилек), массе (с учетом исполнения).
3. Обновление 09.04.08. Добавлены атрибуты для динамических блоков, удален выбор номинального давления ввиду возможности его указания в атрибутах. Добавлена возможность выбора маски для трубопровода.
4. Обновление 09.07.10. В целях упрощения блока отвод был разделен на 4 блока: 90, 60, 45 и 30 гр., а также разделен блок переход на два блока: эксцентрический и концентрический переходы. Для блока отвода 30 гр. исключены диаметры менее 700, как не выпускающиеся промышленностью.
5. Обновление 10.02.02. Продублированы блоки для изображения деталей трубопроводов подземной прокладки (контурная линия показана пунктирной на новом слое «ТХ_Трубы_детали-н»).
6. Обновление 10.03.18. Добавлены виды для изображения деталей трубопроводов без осевых линий. Для блока «Труба» реализована возможность отображения трубы в 3, 2 и 1 линию, вбиты значения уклонов со знаком «минус» — теперь нет необходимости поворачивать блок, чтобы задать уклон в нужную сторону. Расширена база типоразмеров для «Тройника» за счет добавления тройников с решеткой (с удлиненной горловиной). Скрыты ручки «Показать свойства» для всех блоков и «Маска» для блока трубы. Немного изменено расположение ручек выбора в целях удобства.
7. Обновление 10.06.05. Исправлены значения в lookup блоков тройника и фланца, что давало неправильное изображение тройников 57х57, 57х45 и 76х57 и фланцев 1-500-ХХ.
8. Обновление 14.06.27. Исправлено значение в lookup блока тройника, что давало неправильное изображение тройника 426х325.
Комментарии
Комментарии могут оставлять только зарегистрированные участники
Авторизоваться
Комментарии 1-10 из 58
magny , 30 марта 2009 в 09:33
Офигительное спасииииииибо.
Ranli , 30 марта 2009 в 12:26
Большое спасибо!
Нефтепроводчик , 30 марта 2009 в 21:41
Приятно, что кому-нибудь пригодились эти наработки. Есть возможность для динамических блоков деталей по ГОСТ добавить толщину стенки, т. е. полностью забить ГОСТы в блоки. Тогда в свойстве «типоразмер» будет полная запись, прямо как по ГОСТу. Но в таком случае будет очень большим перечень для выбора типоразмера, где-то в 3-5 раза длинее, чем сейчас. Для вида «параметры» появится масса детали. А с помощью dataextraction можно составлять черновик спецификации. Но при этом итак немаленькие (по весу и сложности) блоки будут еще более грамоздкими. Хотелось бы знать, не сильно ли это напрягает слабые компы? Стоит ли на это тратить время? Кстати сейчас я в блоки добавил выбор «давление» и при подсчете деталей через dataextraction они сразу разбиваются на давление.
Koxbox , 01 апреля 2009 в 21:05
Просто супер, огромное тебе спасибо!
magny , 09 апреля 2009 в 09:57
Компьютеры не напрягает, у меня «средний»
Сразу хочу спросить, можно ли сделать что-то такое в 3Д.
Если надо, могу поучаствовать в разработке. [email protected]
Нефтепроводчик , 12 апреля 2009 в 20:56
Можно. Можно сделать все что угодно, главное, чтобы результаты оправдывали потраченные усилия. Правда, с динамическими блоками в 3D немного сложнее, не реализованы операции по оси Z (хотя блоки деталей можно полностью параметризовать в двух осях). Просто рассматриваемые блоки деталей трубопроводов рассматривались изначально как утилиты для отрисовки деталей на плоскости, «как можно проще», по принципу «вставил-изменил-взорвал» и использовать при этом только средства AutoCAD, изначально даже без атрибутов. Те, кто проектирует в 3D, пользуется солидными программыми средствами, в которых отрисовка трубопроводов реализована намного полнее. Мало кто проектирует в 3D посредством голого Автокада. А вот каких-либо средств, позволяющих простыми средствами проектировать трубопроводы в 2D — я не встречал, поэтому и возникла необходимость в блоках. Я считаю делать эти блоки в 3D — изобретать велосипед, когда давно уже есть машины, самолеты и этим пользуются (образно, :))
, 02 июля 2009 в 09:55
ШЕДЕВР. Большое пролетарское спасибо!
Нефтепроводчик , 03 июля 2009 в 21:46
Сейчас блоки используются на ряде рабочих проектов, но пока не во всем отделе. Есть замечания, исправляю. Так что скоро будет обновление. Жду замечаний от форумчан.
magny , 22 июля 2009 в 12:33
Пользуюсь сам и раздал друзьям 🙂
Пожелания следующие.
1. Добавить для Д100 и менее возможность отрисовки одной линией. Как по ГОСТ. Т.к. в масштабах 1к100 и 1к200, ( 1к50 иногда ) все три лини сливаются и получается не корректно и не красиво. Это касается в основном труб, но и фасонины тоже.
2. Порядок прорисовки. При рисовании фланец потом отвод, потом еще отвод, труба и т.п. на плане при изображении вертикального стояка много линий накладываются друг на друга и штатными командами автокада не корректно решается.
3. Масштаб линий. Добавить возможность изменения масштаба линий. Блоки используются в пространстве модели в основном 1 к 1, а печатаются в масштабе. От этого осевая линия «теряется». Если можно, то добавьте в выбор пункт «Масштаб».
4. Извлечение атрибутов. Если можно, то создать таблицу в виде спецификации и рассмотреть возможность группировки, чтобы плюсовало, к примеру, все трубы одного типоразмера в одну ячейку. Шикарно было бы если бы таблица была сразу в форме спецификации по ГОСТ.
С уважением и огромной благодарностью за работу,
Денис
[email protected]
Нефтепроводчик , 15 августа 2009 в 00:08
Отвечу на предыдущее сообщение от magny, извините, работы много, заглядывать сюда не часто получается 🙁
Хочу сказать сразу, что блоки деталей трубопроводов создавались и сейчас используются как простые, но удобные компоненты 2D проектирования. При этом широкий фунционал, который в принципе можно реализовать в динамических блоках, приносится в жертву простоте использования. Так что любые дополнения, которые ведут к усложнению блоков (новые параметры, «ручки» выбора и пр.) я рассматриваю очень критично. Сейчас для меня блоки кажутся нагруженными, кое-что мало используемое я бы удалил. Так что отвечу на вопросы применения блоков с учетом, в первую очередь, возможностей автокада с минимум изменений самих блоков.
1. Можно контурные линии отключить, оставив одни осевые. В диспетчере слоев можно поменять слой, цвет, толщину осевой линии таким образом, чтобы она выглядила как контурная. Вуаля: блоки в одну линию готовы! Осевая теперь служит линией трубопровода. Конечно есть свои особенности, например, условные обозначения трубопроводов в одну линию. Отвод 90гр, повернутый от нас, часто принято рисовать в виде отрезка (по оси) и дуги с центром на конце отрезка. Естественно, в этих блоках, дуги не будет видно. Примерно тоже для тройников, переходов. Часто даже принятые обозначения разные, кроме того их масштабируют для наглядности, т. е. они не отражают реальных размеров деталей. Вывод: дополнение блоков обозначениями трубопроводов в одну линию с учетом условных обозначений ведет к значительному усложению блоков, проще сделать отдельно блоки в одну линию. Такие блоки даже мною делались, но использование оказалось неэффективным. Я, если необходимо, черчю трубопроводы в одну линию с использованием полилинии (или линии), это по затратам не превосходит использование блоков в одну линию.
2. Можно поподробнее, может стоит картинку или чертеж выложить (в какой-нибудь теме)? Хочу заметить, что блоки имеют только основные виды и проекции, иногда не польволяют реализовать сложную проекцию нескольких деталей. Это указано также во вложенном описании. В таких случаях приходится взрывать блоки и вручную доводить проекцию. Есть какая-то проекция детали часто встречается и вы считаете, что нужно добавить в блок, пожалуйста — сообщайте, я постараюсь добавить.
3. Не ожидал, что это вызовет проблемы. Надо зайти Формат—>Типы линий. В появившимся окошке сверху кнопка «Вкл. подробности», появится внизу окошка понелька, там для глобального масштаба выставить масштаб, в котором собираетесь печатать, например, 100. Все, ОК, линии должны сразу отмасштабироваться.
4. Для этого необходимо уже применять программирование, написать соотвествующий скрипт или утилитку, чтобы в нужные ячейки помещало результаты извлечений, суммировало, возможно разбивало на листы (если несколько листов) и пр. Идея конечно интересная, но мало связана с самими блоками. Уже что-то подобное есть (для других блоков), просто надо подогнать к нашим динамическим блокам. Но пока такая задача не стоит. По опыту скажу, что все равно в чертеже некоторые блоки приходится взрывать, собственно при извлечении эти детали будут потеряны, надо их вручную вносить, опять же полная автоматизация не достигается.
Добавлю, что сейчас, я внес некоторые незначительные изменения в блоки. Например, я из блока отвод сделал 4 блока: 90, 60, 45 и 30 гр, а то он оказался слишком сложным.Когда в чертеже 2-3 блока торможение не замечаешь, а когда пару сотен — то да. Даже сейчас, когда хватаешь привязку, блок подтормаживает. Ну а с 4 блоками — все ОК. Еще продублировал блоки: теперь блоки для надземных труб и подземных отдельно. Это мелочи, которые на новое обновление врядли тянут.