Перевод в изометрию
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Перевод в изометрию

Перевод в изометрию

Ответ
Поиск в этой теме
Непрочитано 19.10.2007, 14:20 #1
Перевод в изометрию
Jin X
 
Регистрация: 19.10.2007
Сообщений: 4

Приветствую всех!

Необходимо перевести рисунок из плоской 2-мерной системы в изометрическую. Т.е. по сути дела, повернуть изображение на 45 градусов, но так, чтобы горизонтальные линии остались горизонтальными .

Код:
[Выделить все]
Было:
   __
  |  |
  |  |
 /____\
|      |
|______|

Стало:
        __
      /  /
     /  /
   /___|
 /     /
/_____/
Просмотров: 34535
 
Непрочитано 19.10.2007, 14:42
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402


Средствами AutoCAD'a сделать нереально. На autocad.ru было обсуждение arx-программы, которая вроде как решала эту задачу, но вот ссылки на нее у меня не сохранилось
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 19.10.2007, 15:24
#3
Yura

ЦТП, котельные, отопление, вентиляция
 
Регистрация: 21.02.2007
Кишинев
Сообщений: 548
<phrase 1= Отправить сообщение для Yura с помощью Skype™


А ведь на верхнем рисунке не что-нибудь, а бутылка нарисована ..
Yura вне форума  
 
Непрочитано 19.10.2007, 18:25
#4
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 308


О, снова всплывает "сантехническая аксонометрия".
В общем, Вам в поиск, и искать по слову аксонометрия.

Если только 2D, попробуйте вот этот лисп. Все пояснения внутри файла.
Вложения
Тип файла: rar Aksonom_goriz-v3_3.rar (3.3 Кб, 2813 просмотров)

Последний раз редактировалось Олег К., 19.10.2007 в 18:31.
Олег К. вне форума  
 
Автор темы   Непрочитано 25.10.2007, 21:25
#5
Jin X


 
Регистрация: 19.10.2007
Сообщений: 4


Скрипт неплохой, спасибо, вот только не все элементы переводятся
Jin X вне форума  
 
Непрочитано 26.10.2007, 08:20
#6
Денис Флюстиков


 
Регистрация: 20.07.2005
СПб
Сообщений: 89


Цитата:
Сообщение от Jin X Посмотреть сообщение
Приветствую всех!

Необходимо перевести рисунок из плоской 2-мерной системы в изометрическую. Т.е. по сути дела, повернуть изображение на 45 градусов, но так, чтобы горизонтальные линии остались горизонтальными .
:
http://dwg.ru/dnl/538
Денис Флюстиков вне форума  
 
Автор темы   Непрочитано 03.11.2007, 11:13
#7
Jin X


 
Регистрация: 19.10.2007
Сообщений: 4


Ух ты! Похоже на правду! СПАСИБО!!!!!!!!!!!
Jin X вне форума  
 
Непрочитано 07.11.2007, 11:39
#8
Денис Флюстиков


 
Регистрация: 20.07.2005
СПб
Сообщений: 89


Jin X, судя по твоей картинке, тебе нужно наклонить рисунок (выбранные примитивы).
И что бы не строить лишние построения, ввел в программу «Align_Den» ( http://dwg.ru/dnl/538 ) функцию только наклона (правый клик в первом диалоге). Надеюсь пригодится, т.к. я своей программой в работе воспользовался только раз.
Денис Флюстиков вне форума  
 
Непрочитано 07.11.2007, 14:03
#9
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 308


>> Денис Флюстиков
Разрешите поинтересоваться, каким образом Вам удалось реализовать преобразование круговых дуг в эллиптические при наклоне чертежа (переводе в аксонометрию)? Стоит дальше голову ломать над формулами пересчета или есть более простой путь?
Олег К. вне форума  
 
Непрочитано 07.11.2007, 14:28
#10
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Сообщение от Олег К. Посмотреть сообщение
О, снова всплывает "сантехническая аксонометрия".
В общем, Вам в поиск, и искать по слову аксонометрия.

Если только 2D, попробуйте вот этот лисп. Все пояснения внутри файла.
Ну, зачем только 2D? "Наклон" это слишком мало. Надо переводить в "сантехническую" аксонометрию сразу трассу построенную в 3D. Предлагаю поупражняться. Для облегчения даю несколько функций:

1. Трансформация координат 3D-точки в точку на плоскости для аксонометрии. Это основа, т.к. все остальное состоит из координат точек:
Код:
[Выделить все]
 
(defun ru-3d-point-to-ax-point (3d_point start_2d_point)
;;; Трансформация 3-мерной точки в точку на плоскости
;;; в "сантехнической аксонометрии" -  "косоугольная фронтальная изометрическая проекция"
;;; 3d_point - трехмерная точка
;;; start_2d_point - точка начала условных координат 2-мерной проекции
  (list (+ (nth 0 start_2d_point) (nth 0 3d_point) (* (nth 1 3d_point) 0.707107) 0.0)
        (+ (nth 1 start_2d_point) 0.0 (* (nth 1 3d_point) 0.707107) (nth 2 3d_point))
        0.0
  ) 
)
2. Пример применения для полилиний и отрезков. Функции с префиксом ru- не прилагаю. ru-pline-list-vertex возвращает список вершин примитива, ru-pline-add рисует полилинию по задаваемому списку вершин. ru-lw-current возвращает текущий Lineweight. Можете заменить на свои аналоги.

Код:
[Выделить все]
 
(defun ru-3d-axonom-ent (ent start_2d_point / lst_3d_points)
 ;; ent - примитив
  (setq lst_3d_points
         (ru-pline-list-vertex ent)
  ) ;_ end of setq
  (ru-pline-add
    (mapcar (function
              (lambda (point)
                (ru-3d-point-to-ax-point (ru-conv-point-to-3d-point point) start_2d_point)
              ) 
            ) 
            (car lst_3d_points)
    ) 
    (cadr lst_3d_points)
    0
    (ru-lw-current)
    nil
  ) 
)
3. Внешняя функция, делающая аксонометрию для набора:

Код:
[Выделить все]
 
(defun ru-3d-axonom-selection (/ count selection start_2d_point)
  (princ "\nВыбор объектов для создания аксонометрии: \n")
  (if (setq selection (ssget
                        '((-4 . "<OR")
                          (0 . "LINE")
                          (0 . "POLYLINE")
                          (0 . "LWPOLYLINE")
                          (-4 . "OR>")
                         )
                      ) 
      ) 
    (progn
      (setq start_2d_point
             (ru-get-point-reguired "Начало псевдокоординат аксонометрии" nil)
            count -1
      ) 
      (repeat (sslength selection)
        (ru-error-catch
          (function (lambda ()
                      (ru-3d-axonom-ent
                        (ssname selection
                                (setq
                                  count (1+ count)
                                ) 
                        )
                        start_2d_point
                      ) 
                    ) 
          ) 
          (function
            (lambda (msg)
              (princ (strcat "\nСбой создания аксонометрии "
                             ", ОШИБКА: "
                             msg
                             "\n"
                     )
              ) 
              nil
            ) 
          ) 
        ) 
      ) 
    ) 
  ) 
  (princ)
)
Немного потрудившись можно доработать для любых примитивов. С солидами связываться не надо.
ShaggyDoc вне форума  
 
Непрочитано 07.11.2007, 14:49
#11
Денис Флюстиков


 
Регистрация: 20.07.2005
СПб
Сообщений: 89


Цитата:
Сообщение от Олег К. Посмотреть сообщение
>> Денис Флюстиков
Разрешите поинтересоваться, каким образом Вам удалось реализовать преобразование круговых дуг в эллиптические при наклоне чертежа (переводе в аксонометрию)? Стоит дальше голову ломать над формулами пересчета или есть более простой путь?
Олег К., если кратко, то моя программа делает блок из выбранных объетов и преобразование выполняется не с отдельными примитивами, а именно с блоком, далее взрыв.

!Был обнаружил баг в программе выложенной сегодня, исправил, перезалил!
Денис Флюстиков вне форума  
 
Непрочитано 07.11.2007, 16:00
#12
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 308


>> ShaggyDoc
Я вот все думаю: необходима ли для 3D схем еще и трехмерная строительная часть? Если использовать внешние ссылки на плоские планы этажей и разместить их на требуемой высоте, тем более неудобно. Хотя, когда архитекторы ухитряются изменить высоту всего этажа и никому об этом не сказать - какая тут, нафиг, трехмерка, проще в паре мест на схеме отметки подправить, чем каждую линию редактировать. Ну это так, личное.
В общем, пока приходится рисовать 2D.

И еще при чем тут SOLID? Это Вы так твердотельные трехмерные объекты назвали?

>> Денис Флюстиков
Блоком конечно проще получается, вот только как горизонтальные линии остаются горизонтальными? У блока нет параметров, отвечающих за подобное. Шаманство с системами координат?
Олег К. вне форума  
 
Непрочитано 07.11.2007, 16:35
#13
Денис Флюстиков


 
Регистрация: 20.07.2005
СПб
Сообщений: 89


Цитата:
Сообщение от Олег К. Посмотреть сообщение
>> Денис Флюстиков
Блоком конечно проще получается, вот только как горизонтальные линии остаются горизонтальными? У блока нет параметров, отвечающих за подобное. Шаманство с системами координат?
Олег К., попробуй сделать так.

Выбранные объекты поверни в плоскости на 30°, для примера.
Создай блок.
В свойсвах измени масштаб блока по Х на 2, для примера.
Поверни блок так, что бы выбранные горизонтали стали снова горизонталями.
Взорви блок.

Квадраты преобр. в ромбы, круг.дуги в эллиптич. и т.д.

Поэтому основное определить угол первого поворота, масштабы по X, Y, угол обратного доворота.
Денис Флюстиков вне форума  
 
Непрочитано 08.11.2007, 07:12
#14
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Сообщение от Олег К. Посмотреть сообщение
>> ShaggyDoc
Я вот все думаю: необходима ли для 3D схем еще и трехмерная строительная часть? Если использовать внешние ссылки на плоские планы этажей и разместить их на требуемой высоте, тем более неудобно. Хотя, когда архитекторы ухитряются изменить высоту всего этажа и никому об этом не сказать - какая тут, нафиг, трехмерка, проще в паре мест на схеме отметки подправить, чем каждую линию редактировать. Ну это так, личное.
В общем, пока приходится рисовать 2D.
Философский вопрос. Действительно, большинство проектировщиков пока рисуют в 2D. В конце концов пока от них требуют плоские планы, разрезы и "аксонометрию под 45". Но не требуется реалистичной трехмерной картинки. Она может очень помочь, но быть дополнительным материалом, наподобие макетов у архитекторов.
Пока нет ни нормативной, ни хорошей программной поддержки, полностью переходить на 3D рановато.

Возьмем только "сантехнику" - трубы, воздуховоды и т.п. Есть объекты, в которых, даже при отсутствии 3D-АР, выгоднее работать в 3D над плоскими планами. "Это когда" линейные размеры здания относительно небольшие, диаметры относительно большие, много сложных пространственных трассировок - теплопункты, котельные, насосные, промвентиляция. Здесь 3D дает видимые и явные преимущества.

Если же взять, например, "обычные" ВК или ОВ жилого дома, то преимуществ нет. Только усложнение - диаметры маленькие, арматура микроскопическая. Но и здесь в 3D можно сделать кое-что. Узлы, например.

Сантехнические схемы можно и прямо на плоскости рисовать, как на бумаге. Но в сложных случаях удобнее скелет схемы протрассировать в пространстве и потом получить автоматом проекцию на плоскость.

Надо учитывать и то, что такая автоматическая схема чаще всего будет нечитаемой. Все равно придется раздвигать налагающиеся друг на друга участки, делать разрывы и прочее. Хотя в некоторых простых случаях все получается отлично.

Пока мы делаем так:

1. Большинство рисуют и планы и схемы на плоскости. Ну, нет у людей пространственного воображения. Не могут точки задать. А на плоскости привыкли, да и программы на все есть и позволяют делать это быстро.

2. Процентов 10 моделируют в 3D. В ruCAD-3D трубы и воздуховоды моделируются твердотельными объектами, но у них, на специальных слоях, создаются осевые линии. Вот эти оси и можно превратить в плоскую аксонометрию приведенной программой. Потом схемы дополняются врезкой в нужные места плоских изображений арматуры и оборудования.
ShaggyDoc вне форума  
 
Непрочитано 01.06.2008, 19:25
#15
Денис Флюстиков


 
Регистрация: 20.07.2005
СПб
Сообщений: 89


Цитата:
Сообщение от Олег К. Посмотреть сообщение
>> Денис Флюстиков
Разрешите поинтересоваться, каким образом Вам удалось реализовать преобразование круговых дуг в эллиптические при наклоне чертежа (переводе в аксонометрию)? Стоит дальше голову ломать над формулами пересчета или есть более простой путь?
"Align_Den" в открытом LISP-формате:
http://dwg.ru/dnl/538
Денис Флюстиков вне форума  
 
Непрочитано 27.06.2008, 12:30
#16
killoTAvatar


 
Регистрация: 27.06.2008
Сообщений: 4


Я очень извиняюсь за свою неосведомленность... но что делать с этим скриптом??
Куда скопировать файл из архива??? иль вообще что с ним делать??
killoTAvatar вне форума  
 
Непрочитано 27.06.2008, 13:23
#17
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,402


dwg.ru/art/8
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.02.2013, 16:12
#18
papasu

младшенький
 
Регистрация: 28.02.2013
ЦЧР
Сообщений: 2
Отправить сообщение для papasu с помощью Skype™


Цитата:
Сообщение от killoTAvatar Посмотреть сообщение
Я очень извиняюсь за свою неосведомленность... но что делать с этим скриптом??
Куда скопировать файл из архива??? иль вообще что с ним делать??
Категорически поддерживаю вопрос.
Я за автокад сел в первый раз и мне сразу пришлось делать аксонометрию и не где попало, а в Храме, а там 4 эллипса вдоль стен. Кричу "КАРАУЛ" - не помогает.: Извините:: Обморок:
Денис пожалуйста по возможности не прошу сделать мое, но на основе этого. От архива со скриптом, до готового чертежа обрисуйте что как.
Над чертежом не смеяться. Я за кадом первый раз.

Цитата:
О, снова всплывает "сантехническая аксонометрия".
В общем, Вам в поиск, и искать по слову аксонометрия.

Если только 2D, попробуйте вот этот лисп. Все пояснения внутри файла.
Вложения
Aksonom_goriz-v3_3.rar (3.3 Кб, 707 просмотров)
Кстати внутри архива файл который надо открыть блокнотом. Там написано следующее команда gakson ввести угол поворота и точку, но мой чертеж рассыпался вдребезги ничего хорошего не вышло.
Вложения
Тип файла: dwg
DWG 2007
Чертеж2.dwg (104.7 Кб, 9784 просмотров)

Последний раз редактировалось papasu, 28.02.2013 в 16:21.
papasu вне форума  
 
Непрочитано 01.03.2013, 10:48
#19
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 308


За прошедшие годы эти программы окончательно(?) "допилили", поэтому считаю, что вопрос с сантехаксонометрией в 2D пора закрывать.
Вот программа, которая может сделать все нужные преобразования и даже немного больше:
AksPro v.0.3.1 - подробное писание установки и работы программы;
AksPro на dwg.ru - свежая версия данной программы с обсуждением и отзывами.

То же самое, но другими методами: Align_Den на dwg.ru - свежая версия и отзывы.

Из-за применения ARX и VLX могут не работать в других чертежных программых и лайт-версиях автокада.
Олег К. вне форума  
 
Непрочитано 01.03.2013, 14:02
#20
papasu

младшенький
 
Регистрация: 28.02.2013
ЦЧР
Сообщений: 2
Отправить сообщение для papasu с помощью Skype™


Спасибо большое будем разбираться.
УРА получилось... Спасибо програмистам

Последний раз редактировалось papasu, 02.03.2013 в 01:19.
papasu вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Перевод в изометрию



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перевод из екселя в ворд Димас Разное 9 28.02.2007 08:46
Перевод литературы в электронный вид Banzai Электроснабжение 10 23.05.2006 06:18
Перенос в плоскость изометрию mast04 AutoCAD 7 25.02.2005 14:47