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

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

LISP. Создание поверхностей

Ответ
Поиск в этой теме
Непрочитано 05.09.2011, 08:08 #1
LISP. Создание поверхностей
LastGraff
 
Томск
Регистрация: 13.07.2011
Сообщений: 81

Есть небольшой участок географической карты, на котором изолинии сделаны полилиниями на нужных высотах, как по этим линиям сделать поверхность? Помимо линий могут встречаться и точки, для более детальной корректировки карты. Заранее благодарен за помощь.
Просмотров: 3101
 
Непрочитано 05.09.2011, 09:47
#2
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Начиная с 2007 акада _loft
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 05.09.2011, 10:00
#3
LastGraff


 
Регистрация: 13.07.2011
Томск
Сообщений: 81


к сожалению лофт не справляется( говорит, что неверные входные данные, да и такое количество линий обрабатывает пару часов
LastGraff вне форума  
 
Непрочитано 05.09.2011, 10:11
#4
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


А думаешь "такое" количество рукописный лисп (com,net,arx) быстрее обработает?
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 05.09.2011, 10:22
#5
LastGraff


 
Регистрация: 13.07.2011
Томск
Сообщений: 81


просто тут проблемма в том, что встречаются замкнутые и разомкнутые линии, на которые ругается лофт, а если их даже исключить ручками, то все равно выдает недействительность объектов
LastGraff вне форума  
 
Непрочитано 05.09.2011, 10:37
#6
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от LastGraff Посмотреть сообщение
просто тут проблемма в том, что встречаются замкнутые и разомкнутые линии,
Эта проблема решается выделением всех линий и установкой свойства "разомкнуто", что такое "недействительность объектов", все ли настройки _loft'а смотрел, если ты хочешь себе помочь то постарайся хотя бы задачу описать - примеры тоже не помешают, пока я понял только что _loft тебе не нравиться и у тебя там аж "столько" линий, а что тебе собственно нужно - понять сложно.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 05.09.2011, 10:47
#7
LastGraff


 
Регистрация: 13.07.2011
Томск
Сообщений: 81


Вот небольшой кусок карты (в сплайнах) построить пов-ть по ним не получается


Вопрос, а нельзя ли преобразовать полилинию в набор точек и каким-то макаром построить поверхность по всем этим точкам?
Вложения
Тип файла: dwg
DWG 2007
test.dwg (1.35 Мб, 807 просмотров)

Последний раз редактировалось LastGraff, 06.09.2011 в 08:41.
LastGraff вне форума  
 
Непрочитано 14.09.2011, 11:05
#8
5hev

roads
 
Регистрация: 22.12.2010
msk
Сообщений: 121
<phrase 1= Отправить сообщение для 5hev с помощью Skype™


LastGraff, по сплайнам даже Civil не строит. Кстати вы им не пробовали пользоваться?

Последний раз редактировалось 5hev, 14.09.2011 в 13:21.
5hev вне форума  
 
Непрочитано 15.09.2011, 13:38
#9
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


LastGraff,
LISP. Как преобразовать выделенные сплайны в полилинии?
Может быть попробовать построить поверхность через 3DFACE?
программа триангуляции облака точек

PS:Нарисовать точки в вершинах полилинии
Код:
[Выделить все]
(defun C:P2P ( / i s l)
  ;;; Polyline to Points
(vl-load-com)
(if (setq i 0
           s (ssget '((0 . "*POLYLINE")))
     ) ;_  setq
  (progn (repeat (sslength s)
           (setq l (append   (pline-get-verts (ssname s i)) l)
                i (1+ i)
          ) ;_  setq
         ) ;_  repeat
    (mapcar '(lambda(pt)(entmakex (list (cons 0 "POINT")(cons 10 pt)))) l)
    )
  )
(princ)
)
(defun pline-get-verts (pline_obj)
  (if (= (type pline_obj) 'Ename)
    (setq pline_obj (vlax-ename->vla-object pline_obj))
  ) ;_ end of if
      (cond
        ((wcmatch (vlax-get pline_obj 'Objectname )
           "AcDb2dPolyline,AcDb3dPolyline")
         (group-by-num (vlax-get pline_obj 'Coordinates) 3)
        )
        ((eq (vlax-get pline_obj 'Objectname )
           "AcDbPolyline")
         (mapcar '(lambda(x)(list (car x)(cadr x)(vla-get-elevation pline_obj)))
         (group-by-num (vlax-get pline_obj 'Coordinates) 2)
                 )
        )
       ((eq (vlax-get pline_obj 'Objectname )
           "AcDbLine")
         (list (vlax-curve-getstartpoint pline_obj)(vlax-curve-getendpoint pline_obj))
        )
        (T nil)))
(defun group-by-num (lst num / ls ret)
(if (= (rem (length lst) num ) 0)
 (progn (setq ls nil)
  (repeat (/ (length lst) num)
    (repeat num (setq ls (cons (car lst) ls) lst (cdr lst)))
  (setq ret (append ret (list (reverse ls))) ls nil)))) ret)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 15.09.2011 в 13:45.
VVA вне форума  
 
Непрочитано 19.09.2011, 11:07
#10
Yuriy-I

сп. САПР, архитектор
 
Регистрация: 25.05.2008
Санкт-Петербург
Сообщений: 116


Цитата:
Сообщение от LastGraff Посмотреть сообщение
Вот небольшой кусок карты (в сплайнах) построить пов-ть по ним не получается
результат создания рельефа в AA-2012
http://narod.ru/disk/25584027001/%D1...-2012.dwg.html

затраченное время на создание рельефа командой drape без учета конвертирования полученного Masselement в 3dsolid составило менее минуты
__________________
"лучше" или "хуже" - понятия относительные

Последний раз редактировалось Yuriy-I, 19.09.2011 в 11:12.
Yuriy-I вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP. Создание поверхностей



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP создание списка из text 4ertegn1k LISP 10 09.03.2011 15:32
LISP Создание осевой линии для 3Dsolids nem LISP 7 19.10.2010 12:42
Создание небольшой игры на языке LISP TwoZero LISP 9 10.06.2010 18:08
Создание линии пересечения поверхностей в Civil 3D 2007 miner Вертикальные решения на базе AutoCAD 12 26.03.2009 14:02