Jump to content

Search the Community

Showing results for 'lisp'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Общие форумы
    • Принципы распространения продуктов Нанософт
    • Общие вопросы
    • Скачать полезное
    • Обсуждение любых САПР
    • dows
  • Тематические форумы
    • Поддержка ОС Linux
    • dows
    • dows
    • dows
    • dows
    • dows
    • dows
    • dows
    • nanoCAD Механика 3D
    • dows
    • dows
    • nanoCAD Конструкции PS
    • nanoCAD BIM Electro
    • dows
    • dows
    • dows
    • dows
    • dows
    • dows
    • nanoCAD Стройплощадка
    • Функциональные расширения nanoCAD
    • Портал Технической поддержки
    • nanoTDMS
  • Программы членов Клуба разработчиков
    • KDM-INFO
    • Проектное бюро "Фордевинд"
    • VetCAD++
  • Не о программах
    • Юмор
    • Вопросы и пожелания по работе форума
    • Вопросы и пожелания по работе сайта
    • Новостная лента сайта nanoCAD.ru

Blogs

  • Фишки и трюки nanoCAD
  • Делюсь опытом работы с Cad программами
  • Полезные ссылки и закладки
  • Блог MaxSoft о nanoCAD
  • Утилиты nanoCAD или как упростить работу в программе
  • Конкурсы nanoCAD
  • О разном
  • cad admin notes
  • Рабочий дом как помощь людям
  • Все подряд
  • КТП и внешние сети в модуле Электро

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Сайт


ICQ


Skype


Город


Интересы


Организация


Специализация


Контактная информация

  1. Множество дополнений на Lisp, Visual Lisp, VBA. Много людей ими пользуется и предлагать продукт в котором нельзя запустить те-же самые дополнения не имеет смысла. Предлагать переписать дополнение на другой язык программирования, даже если там по сути чертиться два круга и три квадрата тоже не имеет смысла.
  2. Присоединюсь к вопросу. Есть свои наработки на lisp. Как их использовать не понятно.
  3. Есть наработки Lisp и VB скриптов, которые уже работают в NC. Интересует возможность создания собственной панели кнопок. Через Меню - Настройка интерфейса - Интерфейс можно создать свою панель кнопок, однако куда она прописывается, и как добавить туда кнопку - я так и не понял. Поиск по форуму привёл к следующему: можно прописать в cfg-файлах, и даже задать свои иконки из собственной DLL. Но нигде не нашёл чёткого описания, как это сделать. Если я правильно понял, свои настройки (меню, тулбары) можно вынести в файл userdata.cfg, для этого nCad.cfg должна быть строчка #include "userdata.cfg".
  4. Доброго времени суток! Эксперементируя с настройкой nanCAD'а решил написать свое небольшое меню. Написал без проблем, все ясно и понятно, однако кое-что (выделено красным) не работает. Почему не знаю. Может быть кто-нибудь пояснит? ;========================== ; Регистрация команд в меню ;========================== [\menu\KitngGen] |name=snanoCAD_KITNG [\menu\KitngGen\KitngGen1] |name=sПробное меню [\menu\KitngGen\KitngGen1\KitngGen11] |name=sКонверт |intername=sDrawEnvelope ;[\menu\KitngGen\Sep1] ;================================================================ ; Загрузка файла первоначальных настроек и функций LISP-окружения ; Авто через userdata.ini ;================================================================ [\configman\commands\sSetupLSP] weight=i30 |cmdtype=i0 |intername=sSetupLSP RealCommandName=sLSP Keyword=sЗагрузка^MSetupLSP.lsp^M ;============================================ ; Загрузка и/или вызов отрисовки "конвертика" ;============================================ [\configman\commands\sDrawEnvelope] weight=i30 |cmdtype=i0 |intername=sDrawEnvelope RealCommandName=sLSP Keyword=sВыполнение^M(LoadRunLSP "MyExample.lsp" DrawEnvelope)^M Все связанные с этим меню файлы, находятся в прикреплении. С уважением, AlexAK MyExample.lsp SetupLSP.lsp userdata.cfg userdata.ini
  5. такое ощущение, что вы зашли в какой-то режим и не знаете как из него выйти. Примеры таких команд: редактор блока, lisp-консоль, команда Сведения.
  6. Лисп выдает ошибку при загрузке приложения в Нанокад 5.1. (vl-load-com) (defun c:b2p ( / name_of_bl dis pln dis_pl dis_run i krd prm_pnt proiz ugol_pl ugol_pl_gr my_blok my_att spis_att att_old att_new spis_att strt stp) (setq snp (getvar "Osmode")) (setvar "Osmode" 0) (setq name_of_bl (getstring "Name of blok? ")) (setq dis (getreal "Distance? ")) (setq strt (getint "\nStart number? ")) (setq stp (getint "\nStep? ")) (setq pref (getstring "\nPrefiks? ")) (setq suff (getstring "\nSuffiks? ")) (setq pln (car (entsel))) (setq dis_pl (vlax-curve-getDistAtParam pln (vlax-curve-getEndParam pln))) (setq dis_run (- 0.0 dis) i (- strt stp)) (while(< (+ dis_run dis) dis_pl) (progn (setq i (+ i stp)) (setq dis_run (+ dis_run dis)) (setq krd (vlax-curve-getPointAtDist pln dis_run)) (setq prm_pnt (vlax-curve-getParamAtPoint pln krd)) (setq proiz (vlax-curve-getFirstDeriv pln prm_pnt)) (setq ugol_pl (angle '(0 0 0) proiz)) (setq ugol_pl_gr (* ugol_pl 57.29747)) (setvar "attreq" 0) (command "_.insert" name_of_bl krd 1.0 1.0 ugol_pl_gr) (setq my_blok (entlast)) (setq my_att (entnext my_blok)) (setq spis_att (entget my_att)) ;spisok (setq att_old (assoc 1 spis_att)) ;name (setq num_new (itoa i)) (setq num_new (strcat pref num_new suff))) (setq att_new (cons 1 num_new)) ; (setq spis_att (subst att_new att_old spis_att)); zamena (entmod spis_att) (entupd (cdr (assoc -1 spis_att))) ) ;progn ) (setvar "Osmode" snp) ) Пример работающий на lisp для AutoCad обсуждался в этой ветке http://forum.dwg.ru/...5536#post415536. При запуске под Нанокадом выдает ошибку. ошибка: неверный тип аргумента: 2D/3D point: nil
  7. Крыша поехала от обилия информации. MultiCAD + .NET + Delphi + Microsoft Visual Studio. Делфи для .NET это плагин для MVS, и множество иных нюансов. Да и типа не всякий MVS для WinXP годен, опять же serial key найти нужно. Тупое конвертирование mcsAddin.h в mcsAddin.pas не канает, много дополнительных *.h подключено. Блин, на LISP'е не получилось. Delphi & OLE тоже не помогло. В третий раз надо пробовать Автокадовский Лисп адаптировать под Нанокад. Це крик души, не обращать внимание. Короче, вопрос. Сможет ли дельфиец, установивший Visual Studio Test Professional 2010, опираясь на nanoSDK что-нибудь сваять? Никогда на Си не писал, можно привести пример изменения масштаба?
  8. Похоже обработчик LISP'а в наноКАДе еще сыроват. Не могу адаптировать самопальные Автолисповские функции под Лисп наноКАДа. А начальству досрочно отрапортовал, что переписать с одного Лиспа на другой не проблема :-(. Похоже надо идти другим путем. Народ, есть какой-нибудь пример с сабжем? Только без TLB, не хочу привязываться к конкретной версии. serega_pupkin, читал твой пост "Проблемы позднего связывания", а с версией 5.1 работаешь?
  9. Функция такая есть в автокаде и вышедшем недавно нанокад 6.0 Выбираете объекты и изолируете - остальные объекты чертежа как бы исчезают пока вы не завершите изоляцию. Есть такая команда в платной версии. В бесплатной, думаю, её не будет. Принцип разделения такой - базовые вещи в бесплатной, всё что экономит время/автоматизирует черчение в платной. Или можете lisp такой найти и в нано запустить, наверное будет работать. Команда "слой" там добавить конфигурацию. Не оно? Ээээ .. есть команда "view" в нано Тема http://forum.nanocad.ru/index.php?showtopic=4718&hl=linux&st=0
  10. Пример DCL файла: imag : dialog { label = "Рисунок-кнопка"; : image_button { key = "nad1_110"; height =10; } ok_cancel; } } Lisp для загрузки этого DCL: (defun c:im () (setq dcl (load_dialog "imag.dcl")) (new_dialog "imag" dcl) (setq x (dimx_tile "nad1_110") y (dimy_tile "nad1_110") ) ;_ конец setq (start_image "nad1_110") (slide_image 0 0 x y "РИСУНОК????") (end_image) (start_dialog) (unload_dialog dcl) ) ;_ конец defun Кто подскажет-что должно быть вместо слова РИСУНОК???? и в каком формате? Интерпретатор проглатывает функцию (slide_image 0 0 x y "РИСУНОК????") и не ругается, но на кнопке рисунок не отображается. Пробовал подсовывать рисунки типа SLD, BMP, PNG, TIF, GIF, JPG - безрезультатно. Диалоговое окно появляется, а рисунка на кнопке нет.
  11. Подскажите пожалуйста как "залить" изображение на IMAGE и IMAGE_BUTTON dcl файла. Пытался использовать Lisp функцию SLIDE_IMAGE - ,безрезультатно.
  12. Всё так. Ошибка, мешавшая подключаться несколько раз к запущенному nanoCAD-у через COM, решена в 6.0 Beta1. Эта сборка доступна в Клубе разработчиков. Мы собираем пожелания к движку LISP-а в багтрекере Клуба разработчиков. Если мы не знаем о конкретной проблеме, то и решена она может быть разве что случайно. Призываем присылать нам проблемные лиспы, если их можно прислать, или создавать в Клубе задачи на доработку.
  13. Действительно, вызов команды UNDO из Lisp приводит к закцикливанию. Из цикла удаётся выйти по Esc. Записал дефект #154 в Клуб разработчиков. В настоящее время опции Begin и End не реализованы, поэтому вызовы undo имеет смысл закомментировать.
  14. Вот На самом деле - цвет курсора вполне меняется. Дело просто в том, что при настройке цвета курсора есть такая незаметная галочка "цвет по умолчанию". Если она включена (в окошке с деревом настроек квадратик с цветом курсора зачеркнутый - на последнем скрине видно), то в любом случае используется тот самый цвет по умолчанию. Чтобы выбрать какой-то конкретный - надо в диалоге выбора цвета эту галку снять - и тогда цвет курсора будет меняться. :-) Действительно, цвет меняется при снятой галке, тогда проблема с цветом курсора не критична... Вопрос про Lisp продублирован в соответствующую тему: http://forum.nanocad...showtopic=6091. Ну тогда следующий фокус, запускаю простейший лисп: (defun c:test ( / ) (command "_.undo" "_be") (command "_.line" "0.0,0.0" "10,10" "") (command "_.line" "0,0" "0,10" "") (command "_.line" "10,10" "0,10" "") (command "_.undo" "_e") ) Получаю бесконечный цикл undo... Видимо опции undo еще не реализованы, хотя по идее программа должна выдавать ошибку и завершаться...
  15. Вопрос по LISP Чем можно заменить функцию nentsel (которая отсутствует в NANOCAD)? Прилагаемый файл не работает в NANOCAD mt2ml.lsp NENTSEL функция не определена ошибка: неверный тип аргумента: LENTITYP: nil
  16. Что-то не пойму, usc (пск) нормально вроде работает если использовать вручную. Но как только используешь вызов этой команды из lisp функции, то чепуха получается. Вот в такой строке (command "_UCS" <начало пск> <точка по оси X> "") после ввода второй точки имеем поворот по оси Z. Глюк?
  17. После набора в командной строке _dtext, последовательно вводим стиль и/или выравнивание однострочного текста. А также высоту и угол поворота текста. Все нормально работает (судя по поиску на форуме, раньше были проблемы при редактировании). Ежкин кот (код), с LISP'а вызвать проблематично. (command "_dtext" <X,Y,Z> <высота> <угол поворота> "qwerty") работает до ввода строки "qwerty". Опосля получаем пустоту. Т.е. при вводе строки программно - string'а вообще нет. Та же последовательность при вводе вручную - строка есть. Что делать?!
  18. Использовать консольную команду -TEXT. nanoCAD пока не умеет автоматически переключаться с консольный режим при вызове команд из LISP. (COMMAND "-TEXT" '(1 2 3) 10 0 "Some Text")
  19. Не можем повторить различное поведение при вызове команды UCS вручную и из LISP. (command "_UCS" '(5 10) '(30 10) "") и _UCS 5,10 30,10 приводят к одному и тому же результату, что в nanoCAD, что в AutoCAD. Уточните, пожалуйста.
  20. Видимо не совсем точно выразился. Если у второй точки та же координа по Y (например, первая 5,10, а вторая 30,10), то поворота ПСК быть не должно. Но он есть. После танцев с бубном выяснилось, что угол поворота соответствует углу прямой между 0,0 и X2,Y2. Т.е. начало новой ПСК задается X1,Y1, но расчитывается как от 0,0. В общем, сработал следующий код: (command "_UCS" cp (list (- (car dir) (car cp)) (- (cadr dir) (cadr cp))) "") , где cp и dir первая и вторая точки соответственно. Т.е. получаем примерно следующее, "_UCS" <X1,Y1> <X2-X1, Y2-Y1> "". Похоже проблема решена. Но глюк обработчика lisp'а править надо.
  21. Могу ли я в бесплатной версии NANOCAD 5.1 добавлять LISP-файлы с собственными командами? Могу ли я работать в лицензионной версии NANOCAD 5.1, на флешке, как в портативной (portable)? Какие ограничения предусматриваются в программе NANOCAD 5.1 для пользовательских приложений?
  22. Исправления и дополнения в API nanoCAD 5.1, запрошенные членами Клуба разработчиков: NRX RU45 Не сохраняется путь к каталогу со скриптами в командах JS и VBS RU60, EN17 Реализовать acedDefun() RU62 Реализовать acedRegFunc() RU63 Реализовать acedInvoke() RU64 Реализовать ACED_ADSSYMBOL_ENTRY_AUTO RU66 Реализовать ncedGetNcadResourceInstance() RU129 NcDbDatabase::dimalt() RU129 NcDbDatabase::dimaltf() RU129 NcDbDatabase::dimaltmzf() RU129 NcDbDatabase::dimaltmzf() RU129 NcDbDatabase::dimaltrnd() RU129 NcDbDatabase::dimasz() RU129 NcDbDatabase::dimcen() RU129 NcDbDatabase::dimclrd() RU129 NcDbDatabase::dimclre() RU129 NcDbDatabase::dimclrt() RU129 NcDbDatabase::dimdle() RU129 NcDbDatabase::dimdli() RU129 NcDbDatabase::dimension::oblique() RU129 NcDbDatabase::dimexe() RU129 NcDbDatabase::dimexo() RU129 NcDbDatabase::dimgap() RU129 NcDbDatabase::dimjogang() RU129 NcDbDatabase::dimlfac() RU129 NcDbDatabase::dimlim() RU129 NcDbDatabase::dimlwd() RU129 NcDbDatabase::dimlwe() RU129 NcDbDatabase::dimmzf() RU129 NcDbDatabase::dimmzf() RU129 NcDbDatabase::dimrnd() RU129 NcDbDatabase::dimsah() RU129 NcDbDatabase::dimscale() RU129 NcDbDatabase::dimsd1() RU129 NcDbDatabase::dimsd2() RU129 NcDbDatabase::dimse1() RU129 NcDbDatabase::dimse2() RU129 NcDbDatabase::dimsoxd() RU129 NcDbDatabase::dimtfac() RU129 NcDbDatabase::dimtfillclr() RU129 NcDbDatabase::dimtih() RU129 NcDbDatabase::dimtix() RU129 NcDbDatabase::dimtm() RU129 NcDbDatabase::dimtofl() RU129 NcDbDatabase::dimtoh() RU129 NcDbDatabase::dimtol() RU129 NcDbDatabase::dimtp() RU129 NcDbDatabase::dimtsz() RU129 NcDbDatabase::dimtvp() RU129 NcDbDatabase::dimtxt() RU129 NcDbDatabase::dimtxtdirection() RU129 NcDbDatabase::dimtxtdirection() RU129 NcDbDatabase::dimupt() EN140 Включить .lib файлы NRX при помощи #pragma EN145 Реализовать ncedNrxLoad() NS5697 Add support of _:$:S to аcedSSGet() NS5759 Implement NcDbHatch::getLoopAt() NS5785 Implement NcDbHostApplicationServices::getRegistryProductRootKey() Реализовано или закрыто заглушками, вызывающими ApiLogger: NcDbAttribute::setTag() NcDbAttribute::subSetAttributes() NcDbAttribute::subViewportDraw() NcDbAttribute::subWorldDraw() NcDbAttribute::tag() NcDbAttribute::tagConst() NcDbAttributeDefinition::prompt() NcDbAttributeDefinition::promptConst() NcDbAttributeDefinition::setPrompt() NcDbAttributeDefinition::setTag() NcDbAttributeDefinition::subViewportDraw() NcDbAttributeDefinition::subWorldDraw() NcDbAttributeDefinition::tag() NcDbAttributeDefinition::tagConst() NcDbBlockReference::subViewportDraw() NcDbBody::acisIn() NcDbBody::acisOut() NcDbBody::body() NcDbBody::internalSubentId() NcDbBody::internalSubentPtr() NcDbBody::isNull() NcDbBody::numChanges() NcDbBody::setBody() NcDbBody::subTransformBy() NcDbBody::subViewportDraw() NcDbBody::subWorldDraw() NcDbCircle::getParamAtDist() NcDbDatabase::undoFiler() NcDbEntity::subViewportDraw() NcDbEntity::subWorldDraw() NcDbGroup::copied() NcDbGroup::description() NcDbGroup::getName() NcDbGroup::name() NcDbGroup::setDescription() NcDbGroup::setLayer() NcDbGroup::setLinetype() NcDbGroup::setMaterial() NcDbGroup::setName() NcDbHatch::getArea() NcDbHatch::gradientName() NcDbHatch::patternName() NcDbHatch::setGradient() NcDbHatch::setPattern() NcDbLayout::subSetAttributes() NcDbLinetypeTableRecord::drawable() NcDbLongTransaction::getLongTransactionName() NcDbLongTransaction::subErase() NcDbMInsertBlock::subTransformBy() NcDbMInsertBlock::subWorldDraw() NcDbMlineStyle::description() NcDbMlineStyle::name() NcDbMlineStyle::setDescription() NcDbMlineStyle::setName() NcDbMPolygon::getArea() NcDbMText::horizontalMode() NcDbMText::removeField() NcDbMText::verticalMode() NcDbPoint::subTransformBy() NcDbPolyFaceMesh::getPlane() NcDbPolyFaceMesh::isPlanar() NcDbPolyFaceMesh::subTransformBy() NcDbPolyFaceMesh::subWorldDraw() NcDbPolyFaceMeshVertex::subErase() NcDbPolyFaceMeshVertex::subTransformBy() NcDbPolygonMesh::getPlane() NcDbPolygonMesh::isPlanar() NcDbPolygonMesh::subTransformBy() NcDbPolygonMesh::subWorldDraw() NcDbPolygonMeshVertex::subErase() NcDbPolygonMeshVertex::subTransformBy() NcDbRasterImage::subTransformBy() NcDbRasterImage::subViewportDraw() NcDbRasterImage::subWorldDraw() NcDbSequenceEnd::subErase() NcDbSurface::body() NcDbSurface::getArea() NcDbSurface::getSubentColor() NcDbSurface::getSubentMaterial() NcDbSurface::getSubentMaterialMapper() NcDbSurface::internalSubentId() NcDbSurface::internalSubentPtr() NcDbSurface::isNull() NcDbSurface::setBody() NcDbSurface::setSubentColor() NcDbSurface::setSubentMaterialMapper() NcDbSurface::subTransformBy() NcDbSurface::subWorldDraw() NcDbViewport::effectivePlotStyleSheet() NcDbViewport::erased() NcDbViewport::modified() NcDbViewport::plotStyleSheet() NcDbViewport::plotStyleSheet() NcDbViewport::setGsView() NcDbViewport::setPlotStyleSheet() NcDbViewport::subSetAttributes() NcDbVisualStyle::subSetAttributes() NcDbXrecord::mergeStyle() .NET RU44 NETLOAD не запоминает директорию, откуда был загружен модуль NS3402 QueryX called from object's RxClass did not work COM RU78 "Application server is unregistered" при запуске из-под полного администратора RU92 PlotToDevice печатает все ранее напечатанные листы LISP RU91 Параметры "Команды" и "Функции" команды LSP выводят один и тот же перечень лисп-функций
  23. и AutoCAD LT менее функционален - нет ни 3D пространства, ни LISP, ни устанавливаемых приложений.
  24. Ого, одновременный диалог с тремя людьми... Одно радует - примерно одно спрашиваете. Попробую ответить... Сначала про ядро у всех вертикалок (2amk) - вообще-то оно одно. Но могу примерно предположить, почему вы считаете их разными... Давайте расскажу внутреннюю кухню немного... Представьте, работаем мы над ядром nanoCAD. Написали функции, отправили на тестирование, часть функций прошло качество и вышло в свет, часть отправилось на доработку. Собрали некую версию. Выдали сторонним разработчикам. В это время у разработчиков тоже что-то происходило: кто-то сказал "о, хорошо, забираю новую версию платформы" - собрал свою версию продукта и выпустил на рынок. А кто-то сказал "знаете, я тут сейчас свой функционал внедряю, пока не готов и с новой версией разбираться, и свое до ума доводить - я эту версию пропускаю". В итоге, на рынке выходит ряд продуктов на новой версии платформы, а часть на предыдущей. И получается, что ядро одно, но разных версий - отсюда и различия. Есть и более сложные случаи - например, с теми же выносками, которые описывает 357. Есть приложение под AutoCAD (а AutoCAD как известно нормальных выносок не имеет). И, чтобы быть полезным обществу, приложение реализовало свои выноски, которые не только по нашему стандарту работают, но и активно взаимодействуют с объектами спецприложения. А потом разработчик решил свое приложение перенести на платформу nanoCAD (например, чтобы его решение было ближе к народу по цене). И в платформе nanoCAD как известно есть свои выноски... У разработчиков два варианта: а) выкинуть свои выноски и использовать выноски нанокад (тогда надо будет перерабатывать решение на базе AutoCAD); б) игнорировать выноски нанокад и продолжать использовать свои выноски (тогда возникают проблемы совместимости между приложениями на базе nanoCAD, о чем писал 357 - правда совместимости на базе AutoCAD между ними тоже нет, но это раньше было не так заметно, как сейчас). Что выбрать? У каждого решения есть свои плюсы и свои минусы. Но окончательное решение остается за разработчиком спецрешения. Который свое мнение формирует на основе запросов рынка... Ну, и наконец о развитии аля ArchiCAD... Я знаю это приложение очень хорошо и то, что ArchiCAD не менялся как ядро - это очень большое лукавство. Концепция продукта не менялась, но ядро - вспомните версию 9 и 10 - помните, как внутрь ArchiCAD влился PlotMaker? А то, что раньше стены размещались в рамках этажа, а с 10-ой версии - единая стена, которая режется поэтажными планами? А то, что только в 7-ой версии появилась хоть какая-то навигация в 3D - до этого говорили о трехмерном проектировании, но проектировали-то как раз в планах и разрезах. 3D окно только отображало результат. А в 16-ой появились Morph, которые концептуально изменили ядро - и собственно только с 16-ой версии появилось свободное 3D моделирование... Неет, братцы... ArchiCAD меняется и очень сильно... Но берусь утверждать, что разработчикам ArchiCAD несколько проще - ArchiCAD совершенно не задумывается о 100% совместимости с кем-либо; они абсолютно независимы. Им не надо поддерживать DWG до полной идентичности, не надо реализовывать поддержку технологий, которые разработали другие. ArchiCAD вообще ищет свой класс пользователей - у них даже одно время не было никакой политики по переманиванию пользователей с других систем. Плюс ArchiCAD специализируется только в одной проектной области - архитектуре; они 30 лет (!) оттачивают архитектурное решение. Они не уходили никогда ни в конструкции, ни в инженерию. И уж тем более, о проектировании земли или машиностроения даже не задумываются. Поэтому опыт развития ArchiCAD, конечно, интересен, но совершенно не переносим на идею nanoCAD, которая более универсальная и широкая. По большому счету спор между ArchiCAD и nanoCAD - это спор между специализированным решением и универсальным. И он не такой очевидный, как может показаться... Иначе у ArchiCAD были бы миллионы пользователей по всему миру уже :-) А уж то, что в основе ArchiCAD лежит GDL - это в корне не верно. GDL дает только возможность описать объекты. Сам ArchiCAD обрабатывает GDL объекты не так, как свои родные - попробуйте хотя бы разрезать GDL объект и положить на план. Или поставить его под углом - штатно ArchiCAD этого не позволяет. Поэтому GDL - это пристройка к ArchiCAD, чтобы сделать его удобнее в нестандартных случаях. Но и у nanoCAD есть языки расширения - это и VBS, и JS, и LISP (в зачатке), и C++, и С#... Эти языки как минимум не хуже GDL, но по-моему мнению даже несколько мощнее...
×
×
  • Create New...