|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
AutoCad+Plaxis
Москва
Регистрация: 19.02.2006
Сообщений: 142
|
||
Просмотров: 17172
|
|
||||
Регистрация: 26.03.2006
Сообщений: 20
|
Я сделал такая программа на LISP. Она работает в Autocad и деалет експорт в GEO формате, который читается с Plaxis.
Смотри в форуме офиц. сайт Plaxis.nl там есть больше 50 сообщении по ету тему. Я всем дал программу. Я сделал и программа для черчение в Аутокаде результаты с Plaxis-а. Но я ее нет намерен споделять. :wink: |
|||
![]() |
|
||||
Регистрация: 26.03.2006
Сообщений: 20
|
Ето форум:
http://www.plaxis.nl/html/forum/foru...ject=technical Ето мое сообщение: http://www.plaxis.nl/html/forum/foru...ject=technical Там есть мой имейл. я напишу его и здесь: xugpo§yahoo.co.uk сметить § на @ |
|||
![]() |
|
||||
Регистрация: 26.03.2006
Сообщений: 20
|
Нет ГЕСТ,
не хочу. Предпочитательно для меня ссылать лично имейлами людми, но появлятся сообщения в официальном форуме Плаксиса. Разве они (Холандцы) сделают что то по вопросе с импорте и експорте. Не могу понять почему они толко дорого продают ета нескопосанная с програмисткой точке зрения программа - надо за ети деньги сделят чуть болше. Сравнит примерно ценам с Rocscience и пробуют сделать интерфейс ближе 75% к Канадском. (между впрочем там русские работили над SLID-e, такие имена и фамилии встретил). Правда на Delphi не очень обычно делать чертательный интерфейс, но не в етом проблема. Просто принцым максимальной прибили уничтожает иначе превозходный вычислительный комплекс программы. Я ссылал программу на Николай и Нержавеующий. |
|||
![]() |
|
||||
GEODATA Engineering S.p.A. Регистрация: 11.02.2005
Монино
Сообщений: 692
|
Рисуешь в каде загружаешь лисп, набираешь команду запуска plxout2, и получаешь файл с расширением geo, открываешь плаксис в меню файл импорт переключаешь расширение на geo, и открывается чертеж када, чертить лучше 1 к 100 тогда получаются нормальные размеры в метрах.
|
|||
![]() |
|
||||
Регистрация: 24.03.2005
Москва
Сообщений: 293
![]() |
Цитата:
да, правильно, только один момент - перед экспортом необходимо еще раз обвести контур кластера... спасибо огромное, это, наверное, как подарок в виде клавиатуры программисту, у которого ее не было ![]() Как программа отреагирует, если ее озадачить 3D-моделью? |
|||
![]() |
|
||||
Регистрация: 26.03.2006
Сообщений: 20
|
Цитата:
Большая трудность, и ета причина что никто из вас не сделал такая програма (а я уверен что каждый знаком с лиспе смог) ето неизвестность формата *.GEO. Он нигде не описан. Я работал давном на старые программы Geodelft и сам "разгадал" етот формат - не было очень сложно. Програмы были двухмерные. Если Plaxis скляивает близкие точки пробуйте следующее: увеличите резолюцию (разрешение) монитора. Если у вас двух мониторов - максимизируете окно Plaxis-а на двух до крайный предел. ПРограма чувствительна к пикселей. вообще Плаксис одна из програм, которая очен "незакончена" - мягко сказано. Я сделал подобная программа для продукты Geo-Slope. Формат только для 4-тая версия. Но он импортируется спокойно в новые версии, как Geostudio2004. Еще я сделал и Lisp для експорта мрежа (сетька) конечных элементов из плаксисе в Geo-Slope. |
|||
![]() |
|
||||
Регистрация: 24.03.2005
Москва
Сообщений: 293
![]() |
Возможно, что не в тему, но это одна из проблем, с которой сталкнулся при работе с программой.
для экспорта модели необходимо ее составить из замкнутых контуров сплошной линией. Предположим, что создаю квадрат из 4-х полилиний. В 2006-м акаде есть "соединить" кнопка, в 2004 - неужели только вариант обводки сверху работает? может есть способ и в 2004 автоматически соединить линии? |
|||
![]() |
|
||||
Регистрация: 26.03.2006
Сообщений: 20
|
Я не понял хорошо что имееш в вид.
В чем проблема? Плаксис не изпортирует данны? Т.е. при попытка импорте он (Плаксис) зависает? Пробуй нарисовать описвающий правоугольник. На англиском называет ето "bounding box". Просто с команду RECT сделай полилинию, которая внешная для всех обектов, которые хочешь експортировать. Так, что еты обекты попадают внутри правоугольника. И конечно експортируй етот правоугольник вместе с обекты. Потом можеш, если ненужен, просто удалиш его в самом Плаксисе. Есть некоторая проблема в Плаксисе при импорта сложно сконфигурированная геометрия, потому что ему динамически хочеться определять образовал ли ся cluster при добавлении новоую точку или нет. И ты его помагаеш если в файле GEO есть огарждающий контур и нет неправилные кластеры. Для такие ошибки я не виноват вовсе. Вся вина у плаксисе: он импортирует успешно только простые конфигурации геометрии. :? Можна ето и причина програмистов не ушли дальше в возможностей импорта. И из соображения защитить программа сделали файлов "нечитаемые". Было би очень хорошо директно сделать с аутокаде файл *.PLX (и другие там - необходимые). Но формат двоичный недокументирован вообще (и не будет - уверен). Еще один "трюк": если линия не нужна для дефинирования точек, то ее не нужно експортировать в GEO формате. Имея в вид следюущее: если некоторая линия связывает две точки, которые так и так определены с другими линиями, то ети точки уйдут в плаксисе и без линия ета связывающая их. Ето получается когда есть 3 и болше линии сходящие в одну точку. Если вы пропустите ету линию, а точки между которым она разположена, присуствуют в модели, то можно спокойно ее начертать в самом плаксисе. При етом вы облекчаете его при импорта. Проблема то, что он не хочеть импортировать толко точки - они надо с линиям быть связаным. Вообще Плаксис что та "недоделка", а решатель его - почти совершенный. Просто разные програмисты в разное время делали разные дела. Подобен проблем генерации и у Z_Soil-е. Там два-три пре-пост процесоров, один на Java с библиотекой OpenInventor, потом без него, другой двумерный писан "другому студенту" и так дале. Но там "другое пиво" и цель другая - ето почти академическая программа, студентам дисертации делают добалвляя в ее свой принос. А разработчики Плаксиса просто собирают хорошие решатели (фильтрация из Geodelft, новое 3Д из TNO Diana, динамика из университете в Гренобл Франции, и конечно старый Plaxis, писан 90-х, мешер из Sepra, построитель изолинии "готовый - универсальный" - и конечно не совсем пригоден для конечных элементов - и если увидите "глюки" изолинии, то причина не в результатов а в "трудная" для его комбинация геометрии сетку и результаты), далают "опаковку" с чего там есть под рукой и пускают в продажбе. Потом проводят курсы "юзеров" на программы и так зарабатывают еще деньги. Надо жить - никого не виню. |
|||
![]() |
|
||||
Инженер-конструктор, магистр СПбГПУ. Регистрация: 27.11.2005
Санкт-Петербург
Сообщений: 78
![]() |
>ynopum
А Вы не могли бы мне скинуть Вашу программу на e-mail: inner_mail@mail.ru ? Я буду очень благодарен, т.к она сильно мне поможет в написании моей работы.
__________________
Начинаю писать магистерскую диссертацию на тему нелинейных методов совместных расчетов оснований и фундаментов. Буду рад любой помощи со стороны профессионалов. |
|||
![]() |
|
||||
Регистрация: 26.03.2006
Сообщений: 20
|
(princ "\nExports the definitions of the selected objects in M-Series .GEO format")
(princ "\n(a) 2002 ********") ;здесь убрал мое имя (defun pointlist_round (points / result pt ptf) ;; Закръгля списък с координати до знаците след запетаята - 3 (setq result (list)) (foreach pt points (setq ptf (mapcar '(lambda (coord) (atof (rtos coord 2 3))) pt)) (setq result (cons ptf result)) ) (reverse result) ) (defun points_order (points / pt rest result) ;;за всяка точка проверява дали я има в списъка *pt_coords. ;;ако я има я намира и дава поредният й номер в този смисък; ;;ако я няма я добавя и й дава следващият пореден номер. (setq result (list)) (foreach pt points (if (setq rest (member pt *pt_coords)) (setq nom (- (length *pt_coords) (length rest))) ;започват от нула 0 ! (setq *pt_coords (append *pt_coords (list pt)) nom (1- (length *pt_coords)) ) ) (setq result (cons nom result)) ) (setq result (reverse result)) ) (defun p2l (ename / e edata edata elist pt tlist vlist i ei ei_1) ;връща списък с координатите на върховете (setvar "CMDECHO" 0) (setq e ename edata (entget e) vlist nil ) ;Ако е LW да се преобразува в Тежка (if (= (cdr (assoc 0 edata)) "LWPOLYLINE") (progn (command "._CONVERTPOLY" "_HEAVY" e "") (setq e (ssname (ssget "_P") 0) edata (entget e) ) ) ) ;end if (cond ((= (cdr (assoc 0 edata)) "POLYLINE") (progn ; ако е полилиния (setq flag (cdr (assoc 70 edata))) (if (/= flag (* 2 (abs (/ flag 2)))) (setq flag 1) ) (setq elist (append elist (list e))) (while (setq pt (cdr (assoc 10 (entget (setq e (entnext e)))))) (setq vlist (cons (trans pt 0 1) vlist)) ) ; надолу следва премахване на повтарящите се върхове (if (= flag 1) (setq vlist (cons (car (reverse vlist)) vlist)) ) (setq tlist (list (car vlist))) (setq i 0) (setq ei (nth i vlist)) (repeat (- (length vlist) 1) (setq ei_1 ei) (setq i (1+ i)) (setq ei (nth i vlist)) (if (> (distance ei_1 ei) 0.0) (setq tlist (cons ei tlist)) ) ) ; край на премахването на повтарящите се редове ) ;end progn ) ((= (cdr (assoc 0 edata)) "LINE") ; ако е линия (setq pt (cdr (assoc 10 edata))) (setq tlist (cons (trans pt 0 1) tlist)) (setq pt (cdr (assoc 11 edata))) (setq tlist (cons (trans pt 0 1) tlist)) ) ((= (cdr (assoc 0 edata)) "SOLID") ; ако е 2DSOLID (setq pt (cdr (assoc 10 edata))) (setq tlist (cons (trans pt 0 1) tlist)) (setq pt (cdr (assoc 11 edata))) (setq tlist (cons (trans pt 0 1) tlist)) (setq pt (cdr (assoc 12 edata))) (setq tlist (cons (trans pt 0 1) tlist)) (setq pt (cdr (assoc 13 edata))) (setq tlist (cons (trans pt 0 1) tlist)) (setq pt (cdr (assoc 10 edata))) (setq tlist (cons (trans pt 0 1) tlist)) ) ((= (cdr (assoc 0 edata)) "POINT") (setq pt (cdr (assoc 10 edata))) (setq tlist (cons (trans pt 0 1) tlist)) ) ((= (cdr (assoc 0 edata)) "3DAFCE") ; ако е 3dface (setq pt (cdr (assoc 10 edata))) (setq tlist (cons (trans pt 0 1) tlist)) (setq pt (cdr (assoc 11 edata))) (setq tlist (cons (trans pt 0 1) tlist)) (setq pt (cdr (assoc 12 edata))) (setq tlist (cons (trans pt 0 1) tlist)) (setq pt (cdr (assoc 13 edata))) (setq tlist (cons (trans pt 0 1) tlist)) (setq pt (cdr (assoc 10 edata))) (setq tlist (cons (trans pt 0 1) tlist)) ) ) ; end cond ) (defun c ![]() (setvar "CMDECHO" 1) (princ "\nFollowing will be valid: POINT LINE (LW)POLYLINE SOLID") (setq ss (ssget (list (cons -4 "<OR") (cons 0 "POINT") (cons 0 "LINE") (cons 0 "POLYLINE") (cons 0 "LWPOLYLINE") (cons 0 "SOLID") (cons -4 "OR>") ) ) ) (if (not ss) (quit) ) (setq percent (/ (sslength ss) 100.0)) (setq *pt_coords (list)) (setq laylist '()) (setq i -1) ; брояч по елементи (repeat (sslength ss) (setq i (1+ i)) (princ (strcat "\rscan " (rtos (/ i percent) 2 1) " %")) (setq e (ssname ss i)) (setq dummy1 (p2l e)) (setq dummmyyy (pointlist_round dummy1)) (setq laypts (points_order dummmyyy)) (setq laylist (cons laypts laylist)) ) (setq laylist (reverse laylist)) (princ "\n") (setq fslp (getfiled "Data file for PLAXIS " (getvar "DWGPREFIX") "GEO" 1)) (if (not fslp) (quit) ) (setq fd (open fslp "w")) (princ "POINTS\n" fd) (princ (length *pt_coords) fd) (princ "\n" fd) (setq i 0) (repeat (length *pt_coords) (setq i (1+ i)) (setq pt (nth (1- i) *pt_coords)) (princ (strcat (itoa i) " " (rtos (car pt)) " " (rtos (cadr pt)) " " (rtos (caddr pt)) "\n") fd) ) (princ "LAYERS\n" fd) (princ (1- (length laylist)) fd) (princ "\n" fd) (foreach layer laylist (princ (strcat (itoa (length layer)) "\n") fd) (foreach pt layer (princ " " fd) (princ (itoa (1+ pt)) fd) ) (princ "\n" fd) ) (princ "PIEZO\n0\nEND OF DATA FILE" fd) (close fd) (princ) ) |
|||
![]() |
|
||||
Регистрация: 26.03.2006
Сообщений: 20
|
Скопировал программку в преднее сообщение.
Если кто то усовершенствовать ее - можно здесь публикует "постижения своего труда" ![]() Еще интересно если кто то может документировать формат .PLX ?! Я успел найдти программу TALREN, которая может читать файлы .PLX. Оно конечно не читает все, а только то, что ее угодно. Хорошо что она написана на Java, и можно увидеть самый текст программы для чтения .PLX. Но не хорошо то, что я знаю Java точно только как я знаю язык аборигенов Австралий. Если есть кто то кто может помочь с jav-ы? И Еще: кто то "слышал" от Midas-GTS ( или CRISP, Z_Soil) ? |
|||
![]() |
|
||||
Регистрация: 24.03.2005
Москва
Сообщений: 293
![]() |
Решил поднять тему.
Вопрос номер один - не была ли усовершенствована программа plxout? Вопрос номер два - интересует такой вопрос - нет ли возможности получить на чертеже в автокаде координаты точек пересечения автоматически, чтобы не наводить на каждую точку мышку? |
|||
![]() |
|
||||
Регистрация: 26.03.2006
Сообщений: 20
|
Цитата:
Отговор номер два - возможности есть. Будет один недостаток: ето быстро можно сделать только с VLX функциональност. Ето значить, что прогу не будеть работать на версии ниже R15. Если можно обяснить почему надо знать ети точки пересечения? Сам Плаксис находит их. (конечно близкие точки становятся в одна - в ето ли проблема?) |
|||
![]() |