Перейти к содержимому


nanoCAD Plus 7.0. Список изменений в API

devclub api

  • Вы не можете ответить в тему
В этой теме нет ответов

#1 ISL

    Клуб разработчиков

  • nanoSoft
  • PipPipPipPip
  • 364 сообщений
  • Пол:Мужчина
  • Город:Москва
  • Интересы:Разработка САПР

Отправлено 12 Июль 2016 - 17:09

Новый функционал nanoCAD Plus 7.0:
  • 3D моделирование, геометрическое ядро ACIS,
  • 2D зависимости, решатель LGS2D.
Внимание! 3D моделирование и 2D зависимости работают только при наличии лицезии. В демо режиме они отключены.

Изменения, влияющие на совместимость:
  • COM. Коллекции Documents и SelectionSets теперь нумеруются с 0
  • COM. Флаги метода InitializeUserInput приведены в соответствие с AutoCAD
  • MultiCAD.NET. Типы из пространства имён Multicad.Geometry, типы McObject и McObjectId теперь находятся в сборке mapibasetypes.dll, которую необходимо добавить в список References. Из-за дефекта в компиляторе C++/CLI, не позволяющего использовать атрибут [TypeForwardedTo], данное изменение требует пересборки приложений.
Исправления и дополнения в API nanoCAD Plus 7.0, запрошенные, в том числе, членами Клуба разработчиков:

COM
RU30 Флаги метода InitializeUserInput приведены в соответствие с AutoCAD
RU93 Первый Documents.Item имеет индекс 1, а в AutoCAD 0
RU95 Documents.Item(0) не принимает переменную типа Long из VB6
RU142 AddLightweightPolyline() не принимает массив VT_ARRAY|VT_BYREF (позднее связывание VBA)
NS3697 Привести флаги метода InitializeUserInput в соответствие с AutoCAD
NS5839 Свойство Application.FullName должно возвращать полный путь к NCad.exe
NS5849 Свойство Application.Path должно возвращать путь без имени файла
NS5995 Utility.AngleToReal неправильно производ конвертацию углов в градах и радианах
NS6465 Utility.GetAngle не позволяет задать базовую точку, всегда используется 0,0
NS6466 Utility.GetDistance не позволяет задать базовую точку, всегда используется 0,0
NS6467 Utility.GetOrientation не позволяет задать базовую точку, всегда используется 0,0
NS6469 Utility.GetEntity выводит рамку, если при клике не выбран объект
NS6475 Utility.GetAngle не воспринимает ввод угла с клавиатуры, используется значение в направлении курсора мыши
NS6482 Utility.GetOrientation не воспринимает ввод угла с клавиатуры, используется значение в направлении курсора мыши
NS6717 Свойство Application.WindowState=acNorm устанавливает неправильный размер окна
NS6996 В методе Utility.GetKeyword дублируются ключевые слова, если заданы в явном виде в тексте запроса
NS7067 Метод Utility.GetAngle не возвращает ключевое слово по первой прописной букве ключевого слова
NS7082 Utility.GetCorner. Неправильно отрабатывается случай запрещения пустого ввода
NS7153 Utility.GetDistance – не повторяет запрос при вводе не числа
NS7154 Utility.GetDistance – не возвращается ключевое слово
NS7313 Document.Close(True, pathFile) не работает при вызове из VB
NS7440 SelectionSets.Item не работает при вызове из VB
NS7496 Невозможно перебрать SelectionSet при помощи For Each... Next в VB
NS7840 Application.Version возвращает некорректное значение версии
NS8192 Метод Documents.Add(templatePath) не работает при вызове из VB
NS8258 SelectionSet: невозможно повторно перебрать элементы множества
NS8259 Document.ActiveSelectionSet не соответствует набору выбора "предыдущий"
NS8290 Неверные коды ошибок при вводе ключевых слов, Enter, Space в функциях Utility.GetXXX
NS8317 Невозможно изменить Document.MSpace из VB на позднем связывании
NS8375 Utility.GetAngle - Неправильно отрабатывается случай запрещения ввода 0
NS8891 SelectionSets.RemoveItems() не работает при вызове из VB
NS6265 Plot.SetLayoutsToPlot не работает при вызове из VB
NS6496 Document.SaveAs не влияет на текущий документ, только создаёт копию файла
NS6499 Utility.GetPoint – не рисуется резиновая линия от первой точки

.NET
Добавлены "пустышки" большинства нереализованных классов и методов
RU19 Database.SaveAs не влияет на текущий документ
RU147 Падение по выходу после использования событий LayoutManager
RU162 GripOverrule: Падение при обращении к GripDataCollection
RU174 Невозможно создать OpenCloseTransaction
EN129 NETLOAD не реагирует на FILEDIA
NS3996 Зависимые сборки грузятся только из последней директории
NS8110 Не освобождается память при многократном открытии одного и того же объекта
NS8253 Ускорить загрузку .NET модулей
NS9056 Обеспечить параллельное использование русских и английских ключевых слов в .NET модулях
NS10246 Обращение к TopTransaction приводит к обрушению программы
NS10247 Некорректно обрабатываются ключевые слова с пробелами
NS10284 Игнорируется ключевое слово по умолчанию (параметр Keywords.Default)
NS10309 Динамические блоки. Не удается программно установить значение динамического свойства типа "Отражение"

NRX
Добавлены "пустышки" большинства нереализованных классов и методов
RU73 Реализовать класс AcPane (NcPane)
EN216 Реализовать NcDbEntity::draw()
EN212 Реализовать NcHeapOperators
EN211 Реализовать NcGiVisualStyle
EN210 Реализовать классы-наследники NcDbSymbolTableIterator
EN209 Реализовать NcGsDCPoint
EN208 Падение при удалении NcDbObjectItertor, если какой-либо возвращённый объект уже был удалён
EN207 ncedGetFunCode() не возвращает номер вызывавшейся команды
EN206 Реализовать nds_queueexpr()
NS2835 NcDbDatabase::saveAs не влияет на текущий документ
NS5290 Обеспечить преобразование при компиляции IAcad* интерфейсов в InanoCAD* интерфейсы
NS5699 Реализовать NcDb3dSolid::createLoftedSolid()
NS5760 В NcEdJig::drag() иногда самопроизвольно рисуется "резинка" из начала координат
NS5761 Реализовать acrxLoadedApps() для проверки загруженности *.arx модуля
NS7410 Привести привести последовательность прихода реакторов Nc* в соответствие с ObjectARX
NS8299 Реализовать функцию InitAdUiDLL()
NS8300 Реализовать функцию AcDbAttribute::getMTextAttributeConst()
NS8301 Реализовать функции AcDbRasterImageDef::createImageDictionary() и AcDbRasterImageDef::imageDictionary()
NS8302 Реализовать функции CNdUiPaletteSet::SetName() и CNdUiPaletteSet::GetName()
NS8314 Реализовать функцию OPMPropertyExtensionFactory::desc()
NS8344 Добавить конструктор в класс NcGeNurbCurve3d
NS8345 В класс NcGeNurbCurve3d добавить функции, работающие с NcGePoint3dArray
NS9153 Реализовать HLR API на ACIS
NS9166 Реализовать NcGePoint2d NcGePoint3d::convert2d(NcGePlanarEnt const &)
NS9168 Реализовать NcGePoint3d NcGePoint3d::orthoProject(NcGePlane const &)
NS9169 Реализовать NcGeVector2d NcGeVector3d::convert2d(NcGePlanarEnt const &)
NS9170 Реализовать NcGeVector2d NcGeVector3d::convert2d(NcGePlanarEnt const &)
NS9171 Реализовать NcGePoint3d &NcGePoint3d::transformBy(NcGeMatrix3d const &)
NS9172 Реализовать NcGeVector3d & NcGeVector3d::transformBy(NcGeMatrix3d const &)
NS9173 Реализовать NcGeVector3d operator*(NcGeMatrix3d const &,NcGeVector3d const &)
NS9174 Реализовать NcGeVector3d operator*(double,NcGeVector3d const &)
NS9175 Реализовать newNcRxClass()
NS9176 Реализовать NcGeVector3d::isCodirectionalTo()
NS9177 Реализовать NcGeVector3d::isParallelTo()
NS9178 Реализовать NcGeVector3d::isPerpendicularTo()
NS9179 Реализовать NcGeVector3d::isZeroLength()
NS9180 Реализовать NcGeVector3d::operator NcGeMatrix3d(void)
NS9181 Реализовать ncrxSysRegistry()
NS9182 Реализовать ncutDelBuffer()
NS9202 Реализовать acplPlotConfigManagerPtr()
NS9203 Реализовать acdbGetViewportVisualStyle()
NS9205 NcDbSymbolTableRecord::getName(NCHAR *&) const' : cannot convert parameter 1 from 'NcString' to 'NCHAR *&'
NS9206 Реализовать acdbSetViewportVisualStyle()
NS9207 Определить BEGIN_PERPROPDISPLAY_MAP/END_PERPROPDISPLAY_MAP
NS9269 Реализовать NcAxGetDatabase
NS9270 Реализовать NcAxGetMaterial() / NcAxPutMaterial()
NS9275 Реализовать AcDb3dSolid::createRevolvedSolid()
NS9287 Реализовать NcGePointEnt3d::point3d()
NS9293 Реализовать класс NcStatusBarItem
NS9310 Реализовать NcDbAbstractViewTableRecord::setViewDirection()
NS9311 Реализовать NcDbBlockTableRecord::pathName()
NS9317 Реализовать NcDbHatch::getLoopAt()
NS9319 Реализовать NcDbLoftOptions::NcDbLoftOptions()
NS9320 Реализовать NcDbLongTransaction::newWorkSetIterator()
NS9323 Реализовать NcDbRasterImageDefReactor::setEnable()
NS9325 Реализовать NcDbSpline::toPolyline()
NS9326 Реализовать ncedCoordFromPixelToWorld()
NS9327 Реализовать ncedCoordFromWorldToPixel()
NS9328 Реализовать ncedGetApplicationStatusBar()
NS9331 Реализовать ncedHatchPalletteDialog()
NS9332 Реализовать ncedIsDragging()
NS9334 Реализовать NcEdJig::entity()
NS9336 Реализовать ncedSetCurrentView()
NS9337 Реализовать ncedVports2VportTableRecords()
NS9338 Реализовать ncedVportTableRecords2Vports()
NS9339 Реализовать ncedXrefAttach()
NS9340 Реализовать ncedXrefCreateBlockname()
NS9341 Реализовать ncedXrefReload()
NS9342 Реализовать ncedXrefUnload()
NS9344 Реализовать NcGeEntity2d::isKindOf()
NS9347 Реализовать NcGiMaterialMap::NcGiMaterialMap()
NS9348 Реализовать NcGiTextStyle::extentsBox()
NS9352 Реализовать ncgsGetViewportInfo()
NS9354 Реализовать NcPlDSDData::sheetType()
NS9364 Реализовать ncdbTblSearch()
NS9365 Реализовать ncedPostCommandPrompt()
NS9367 Реализовать ncrx_abort()
NS9374 Реализовать NcRxEventReactor::xrefSubcommandReloadItem()
NS9379 Реализовать AcApStatusBar::Add() / AcApStatusBar::Remove()
NS9441 Реализовать GET_OPMPROPERTY_MANAGER, GET_OPM_COMMAND_PROPERTY_MANAGER
NS9546 Обеспечить отрисовку транзиентов, добавленных через NcGsModel::onAdded()
NS9554 Обеспечить пересчёт координат при таскании за ручку через плоскость XY, проходящую через ручку
NS9603 Обеспечить работоспособность конструкции acedGetAcadWinApp()->GetIDispatch()
NS9613 Обеспечить возможность наследования от NcGiWorldDraw/NcGiViewportDraw
NS9622 Реализовать NcApDocManager::isApplicationContext()
NS9623 Реализовать NcApDocManager::executeInApplicationContext()
NS9633 Реализовать NcDbTransactionManager::addNewlyCreatedDBRObject
NS9635 Реализовать NcDbTransactionManager::addReactor() / removeReactor()
NS9648 Добиться возможности позвать close() у объекта, открытого через транзакцию
NS9708 curDoc() не работает в реакторе DocumentDestroyed()
NS9849 Обеспечить установку ownerId нерезидентным объектам
NS10175 При выборе трёхмерных примитивов не учитывается Z-буфер
NS10191 Необходимо возвращать осмысленный код ошибки в ncdbOpenNcDbObject()
NS10195 Блокировка документа на событие beginQuiescentState создаёт точку Undo

LISP
RU17 Команда SaveAs не реагирует на FILEDIA
RU51 Реализовать консольный интерфейс команды -PLOT
RU144 Реализовать консольный интерфейс команды -STYLE
RU152 Функция (arxload) не грузит NRX модули
EN192 Обеспечить работу с расширенными данными примитива в LISP (entmod, vla-setxdata)
NS3248 Добиться совместимости с LISP команды CIRCLE
NS9748 В русской версии не отрабатывает (command "_ZOOM" "_All").
NS9775 Добиться совместимости с командой ARC
NS9957 Команда ‘_LINE’ не воспринимает ключевые слова ‘_UNDO’, ‘_CLOSE’ и ‘_C’

MultiCAD.NET
Возможность работы с 3d телами, McEntityExtension, Mc3dSolid возможность создания своих объектов имеющих представление в виде параметрического 3d Solid
Core.Net. Возможность строить, вычислять и комбинировать 3D-тела из нескольких солидов в одном
InputJig.PropertyInpector - возможность выводить свойства объекта в Инспектор свойств во время работы Jig
API для работы с объектами архитектуры в СПДС
Новый метод McDocument.CreateDocument
Добавлены функции McObjectManager.HighlightAuto|UnhighlightAll, McObjectManager.CloneGroup|CloneGroupEx
Добавлен метод McContext.RegisterCommand для динамической регистрации команд
Доработан McTolerance
Паралельно методам работающим с TypeID объекта добавлены методы работающие с Type (IdKindOf(), AddType() и тому подобные )
Добавлено свойство McDocument.WorkingDocument позволяющиее устанавливать рабочий документ, для корректной работы с неактивными документами
Добавлено управление транзакциями
Исправлено GetDistance (работал как GetAngle)
Добавлены методы в McStyleManager.DefUnplottedLayerName, McStyleManager.DefInvisibleLayerName для получения слоев по умолчнию
Добавлены методы хелперы в поллинию SetToRect, CreateRectangle
Добавлен static McPropertySource McPropertySource.GetPropertySource(System.Object^ obj); - возможность получения PropertySource из любого объекта
Добавлен enum и методы ApplicationID, ConfigurationID, PlatformID
CustomBase, убрали повторную посылку события OnDeserialized, в момент, когда ещё не всё в объекте восстановлено после десериализации
Добавлен метод McEntity.MatchProperties
Базовые типы геометрии перемещены в сборку MapiBaseTypes
Класс McPainter позволяющий выводить произвольную графику/графиу объектов на DC в формах
Добавлен метод McCustomEntity.OnGetOsnapPoints для возможности пользовательсокго определеня OsnapPoints
Возможноть блокировать перемещение объекта из McCustomEntity путём бросания исключения в OnTransform
Объект McParametricObject - стандартная деталь, для доступа к параметрическим объектам СПДС/MechaniCS
IMcDynamicProperties более удобный интерфейс для определения динамического набора свойств у объектов, для показа в "Инспекторе свойств"
Добавлены методы/атрибуты для работы с единицами измерения чертежа
McOverlappedBase - Базовый класс для разработки перекрывающихся объектов
McCustomBase.OnGetParamAtPoint|OnGetPointAtParam - возможность переопределения методов получения точки и параметра привязки
Multicad.AplicationService.McParamManager - менеджер параметров
McComboBox - возможность показа цвета, типа линии, толщины линии как в нативных платформах
InputJig.GetTextInput, InputJig.GetText - методы для ввода текста пользователем
Пишешь приложения под САПР на С++, .NET, COM, Lisp? Вступай в Клуб разработчиков nanoCAD.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей