.NET
Naprawiliśmy nietypowy przypadek, w którym funkcja Solid3d.CreateSculptedSolid() tworzyła bryłę z nieprawidłową ścianą po jednej stronie.
Zarządzana funkcja LispFunction zadeklarowana z typem zwracanym void nie zwraca teraz nic, zamiast NIL.
Zdarzenie RibbonTab.PropertyChanged jest teraz powiadamiane o zmianach RibbonTab.IsActive, gdy użytkownik aktywuje nową kartę wstążki.
Zaimplementowano właściwości Dimension.Dimtxtdirection i DimStyleTableRecord.Dimtxtdirection.
Kilka sygnatur RibbonControl.FindPanel(), RibbonControl.FindItem() i RibbonTab.FindItem() zwraca teraz element nadrzędny znalezionych elementów jako argumenty zewnętrzne.
Naprawiliśmy niedawno wprowadzony wyjątek ArgumentOutOfRange, który mógł wystąpić podczas uzyskiwania dostępu do kolekcji elementów wstążki, gdy aktywne było polecenie BEDYCJA.
Właściwość BlockPropertiesTableColumn.Parameter zwraca teraz poprawną nazwę i wartość w niektórych problematycznych rysunkach.
Metoda LineSegment3d.Overlap() nie generuje już wyjątku InvalidOperationException, gdy dwa dostarczone segmenty linii nie zachodzą na siebie.
Właściwość ShowImage = false jest teraz przestrzegana w kombinacjach wstążki.
Zaimplementowano kilka brakujących elementów kontekstu aplikacji w klasie DocumentCollection.
Naprawiono awarię występującą podczas usuwania karty wstążki zawierającej panel wstążki WPF.
Zaimplementowano metodę MText.getMTextWithFieldCodes(). Ta metoda zwraca zawartość tekstową z polami w postaci nieprzetworzonych kodów pól.
Rozwiązaliśmy wyjątek eNotOpenForRead podczas konstruowania instancji Brep z FullSubentityPath.
Klasa ObjectId została rozszerzona o obsługę dynamicznego, opóźnionego dostępu do właściwości i metod bazowego obiektu bazy danych.
Interfejs API Rozszerzeń OPM jest teraz dostępny dla wtyczek .NET w celu rozszerzenia właściwości obiektu wyświetlanych w panelu Właściwości.
Nowy ogólny interfejs API właściwości, oparty na podobnym interfejsie API C++, jest teraz dostępny w .NET w Bricscad.Global.PropertyService i Bricscad.Global.ObjectIdPropertyAccessor.
Zespół BrxMgd jest teraz oznaczony atrybutem ExtensionAttribute, dzięki czemu metody rozszerzeń mogą być wywoływane bezpośrednio z kodu klienta VB.net.
Flaga PromptSelectionOptions.AllowSubSelections jest teraz ignorowana, gdy ustawiona jest również opcja PrepareOptionalDetails, ponieważ w takim przypadku wybór podjednostki nie jest obsługiwany.
Zaimplementowano klasy ułatwiające tworzenie i manipulowanie Stylami Etykiet Civil.
BRX
Zaimplementowaliśmy metodę AcDbAssocManager::getGlobalEvaluationCallbacks().
Zaimplementowaliśmy szereg brakujących funkcji w klasie AcDbAssocVariable.
Edycja tabeli jest teraz tymczasowo zawieszana na czas wykonywania niestandardowego polecenia menu kontekstowego.
Zaimplementowano wiele klas AcDbAssocArray, które udostępniają funkcjonalność tablic asocjacyjnych dla interfejsu API BRX.
Grafiki utworzone przez acedGrDraw() nie pozostają już widoczne po zakończeniu polecenia.
Interfejs API klasyfikacji BIM może teraz klasyfikować bazę danych do późniejszego wstawienia jako blok.
Zaimplementowaliśmy klasy AcDbViewSymbol, AcDbDetailSymbol i AcDbSectionSymbol.
Zaimplementowaliśmy klasę AcDbAssocGeomDependency.
Zaimplementowaliśmy klasę AcDbAssoc2dConstraintGroup.
Wywołanie funkcji AcDbLayout::copyFrom() z układem źródłowym z innej bazy danych kopiuje teraz również źródłowe dane xdata.
Wycofaliśmy niezgodny typ defaultDoubleNull z interfejsu API BREP i dostosowaliśmy sygnatury funkcji, aby używały double* zamiast double&.
Zaimplementowaliśmy klasy AcGraphNode i AcConstraintGroupNode.
Zaimplementowaliśmy klasy AcGeomConstraint, AcHelpParameter i AcCompositeConstraint.
Zaimplementowaliśmy klasę AcExplicitConstraint i powiązane z nią klasy ograniczeń jawnych.
Zaimplementowaliśmy klasę AcConstrainedGeometry i powiązane z nią klasy ograniczeń geometrycznych.
Pierwsza i druga pochodna w punkcie początkowym polilinii są teraz poprawnie obliczane przez getFirstDeriv() i getSecondDeriv(), nawet jeśli pierwszy segment jest segmentem łuku.
Dynamiczne właściwości per instancja mogą być teraz rejestrowane w klasie bazowej klasy, w której właściwości są zaimplementowane.
Automatycznie generowana dokumentacja SDK została uporządkowana, a prezentacja została znacznie ulepszona, z lepszym formatowaniem i dodaniem wykresów dziedziczenia klas.
Wdrożyliśmy nowy ogólny interfejs API właściwości, aby uzyskać dostęp do wszystkich właściwości obiektów z obiektów bazy danych DWG, w tym właściwości zdefiniowanych przez BIM, MCAD, Civil, IFC, Point Cloud i rozszerzenia OPM innych firm. Dokumentacja znajduje się w pliku nagłówkowym BrxSpecific/BrxGenericPropertiesAccess.h.
Dodaliśmy specjalną sygnaturę funkcji członkowskiej cast() do cywilnych klas elementów wyrównania, która akceptuje i zwraca instancję AcSharedPtr. Umożliwia to bardziej naturalne wykorzystanie rzutowania w czasie wykonywania tymczasowych elementów wyrównania zwracanych jako współdzielone wskaźniki, bez przypadkowego tworzenia zduplikowanych lub osieroconych odniesień.
Możliwe jest teraz wywołanie funkcji clone() na niestandardowej klasie wywodzącej się bezpośrednio z AcRxObject.
Poprawiona wydajność i funkcjonalność modułu BRX HLR, a także zmniejszenie ilości generowanych podmiotów (bez duplikatów, bez nakładania się itp.).
W klasach AcDbAssocAction, AcDbAssocActionBody i AcDbAssocVariable zaimplementowano szereg brakujących funkcji.
Zaimplementowano klasę AcDbAssocParamBasedActionBody.
Obliczanie przyciągania obiektów dla niestandardowych encji wywołuje teraz 8-argumentową sygnaturę subGetOsnapPoints(), a następnie powraca do starszej 7-argumentowej sygnatury, jeśli nowsza wersja nie została zaimplementowana dla klasy encji.
Funkcja AcDbViewport::setVisualStyle() ustawia teraz prawidłowy tryb renderowania na podstawie stylu wizualnego.
Do klasy AcValue dodano kilka brakujących metod.
Komunikat WM_HELP jest ponownie generowany po naciśnięciu klawisza F1 w modalnym oknie dialogowym MFC. Zostało to zepsute w wersji V24.2.
Gdy aktywne jest modalne okno dialogowe, główne okno ramki jest wyłączone. Inne pływające okna aplikacji, takie jak wiersz poleceń miniframe, są teraz również wyłączone, gdy aktywne jest modalne okno dialogowe.
Zaimplementowaliśmy funkcje członkowskie AcApDocManager beginExecuteInCommandContext() i beginExecuteInApplicationContext().
Kilka nowych metod zostało dodanych do klasy BModeler Face, aby w bardziej przejrzysty sposób ujawniać wewnętrzne pętle powierzchni.
Dokument, który jest bieżący po uruchomieniu polecenia kontekstu dokumentu, pozostaje teraz bieżącym dokumentem do momentu zakończenia (lub anulowania) polecenia, nawet jeśli nowa karta dokumentu zostanie aktywowana podczas działania polecenia.
Naprawiliśmy nieprawidłowe zachowanie podczas wywoływania funkcji członkowskich niestandardowej klasy wywodzącej się z AcDbWipeout.
Adnotacyjne dane kontekstowe niestandardowych klas encji wywodzących się z AcDbMText są teraz zachowywane podczas funkcji handOverTo().
Naprawiliśmy błąd, w wyniku którego ustawienie nowego stylu bieżącego wymiaru, a następnie zastosowanie go do nowo utworzonego wymiaru, powodowało nadpisanie stylu wymiaru odpowiadającego poprzednio aktywnemu stylowi wymiaru.
Możliwe jest teraz przypisanie lokalizacji przestrzennej BIM do obiektów sklasyfikowanych jako adnotacje.
Zaimplementowano klasę AcDbEvalGraph i kilka powiązanych klas.
Funkcja AcDbObjectPointer::create() została rozszerzona o sygnaturę, która akceptuje argumenty przekazywane do konstruowanego obiektu. Nowa klasa AcDbObjectPointer2 wywołuje nową funkcję create() bezpośrednio ze swojego konstruktora, przekazując argumenty.
Funkcje setPolicy() i getPolicy() funkcji BrxBimPolicies nie powodują już błędów linkera.
Podczas monitorowania punktu wejściowego lista zwracana przez AcEdInputPoint::pickedEntities() zawiera teraz jedną jednostkę najwyższego poziomu dla każdej zagnieżdżonej jednostki, nawet jeśli skutkuje to duplikatami. Nowe zachowanie jest kompatybilne z innymi platformami.
Naprawiliśmy regresję w wersji V24.2, która powodowała problemy z wyświetlaniem niestandardowych jednostek wewnątrz instancji AcGsView opartej na oknie dialogowym.
BRX/.NET
Utworzono nową klasę BrxPlotStampSettings dla interfejsu API BRX i odpowiadającą jej klasę PlotStampSettings dla interfejsu API .NET, aby ułatwić programowe manipulowanie ustawieniami znaczników działek.
Zmiana właściwości adnotacji bloków została ulepszona, aby była bardziej kompatybilna z innymi platformami.
Interfejs API zakotwiczenia został rozszerzony, w tym o nowe rozszerzenie protokołu BrxAnchorfeaturePE (C++) i Bricscad.Parametric.AnchorFeaturePE (.NET), które umożliwia wtyczkom dynamiczne filtrowanie dozwolonych powierzchni docelowych dla zakotwiczenia.
Klasy BrxCvDbPoint (C++) i Civil.Point (.NET) zostały rozszerzone o nowe metody statyczne importPointsFromFile(), assignPointsToPointGroup() i assignStylesToPoints().
Wywołanie funkcji CreateAnchoredBlockReference() z nieprawidłowym identyfikatorem wejścia nie powoduje już awarii.
Funkcje acedTraceBoundary() i TraceBoundary() teraz poprawnie interpretują punkt początkowy jako współrzędne LUW.
Klasy importu i eksportu BIM IFC zostały rozszerzone o kilka nowych opcji. W ramach tych prac niektóre klasy zostały nieznacznie zmienione, aby były bardziej spójne z innymi klasami.
Zarejestrowane funkcje ADS (lub LispFunction w kodzie zarządzanym) nie są już wyświetlane w wierszu poleceń tak, jakby były zwykłymi poleceniami, chyba że używają składni C:XXX.
Zmieniliśmy zachowanie podczas ustawiania stylu wykresu "JakWarstwa" lub "JakBlok" na rysunku, którego słownik stylów wydruku faktycznie zawiera style wydruku o tych specjalnych nazwach. Logiczne style fabuły są teraz preferowane, a podobnie nazwane style wydruku w słowniku są ignorowane. To zachowanie jest kompatybilne z innymi platformami.
Obsługiwane jest teraz wyświetlanie etykiety kontrolki kombi wstążki z dowolną kombinacją tekstu lub ikony, lub obu, w zależności od stylu etykiety.
Nowe klasy BRX BrxCvDbSymbolStyleManager, BrxCvDbStyle, BrxCvDbSymbolStyle i BrxCvDbStylePartDisplaySettings, a także klasy .NET SymbolStyleManager, Style, SymbolStyle i StylePartDisplaySettings ułatwiają tworzenie i zmianę stylów symboli Civil Point.
Klasy BrxCvDbPoint (C++) i Civil.Point (.NET) zostały rozszerzone o nową statyczną metodę assignPointToPointGroup().
Wprowadziliśmy nowe klasy do tworzenia i manipulowania stylami etykiet Civil.
Właściwości surowego opisu i pełnego opisu dla punktów civil mogą być teraz ustawiane niezależnie przez API.
- SR164057
- SR164188
- SR164318
- SR182316
LISP
Rozszerzono interfejs API BIM LISP o nową funkcję (bim:pset-list-all) zwracającą wszystkie właściwości zestawu właściwości powiązane z dostarczoną jednostką.
Funkcje (getcfg) i (setcfg) odczytują i zapisują teraz ustawienia profilu użytkownika w pamięci, gdy podana ścieżka wartości zaczyna się od "../Profile/". Umożliwia to coś takiego jak (setcfg "../Profiles/Default/Dialogs/XXX/rect" " 200,200,300,100"), aby zmienić wartość w pamięci używaną przez kod aplikacji.
Poprawiliśmy kompatybilność reaktorów używających flagi "all-document".
Funkcja (vla-Delete) została poprawiona, aby wywoływać błąd Lisp podczas próby usunięcia bieżącego LUW (kompatybilne z AutoLISP).
Dodaliśmy obsługę większej liczby metod i właściwości COM w systemach Linux/Mac, w tym Annotation, Evaluate, Url, UrlDescription i UrlNamedLocation.
Naprawiono błąd czasowy związany z oceną (S::STARTUP). Teraz wszystkie zdefiniowane funkcje (S::STARTUP) są przetwarzane po załadowaniu rysunku i przetworzeniu wszystkich plików startowych.
Poprawiliśmy wydajność niektórych skryptów lisp, które często unieważniają wyświetlanie.
Naprawiliśmy problem z bazą danych LISP i reaktorami obiektów, który występował po włączeniu MTFLAGS (tryb wielowątkowy).
Dokumentacja funkcji (vlax-add-cmd) została zaktualizowana w celu poprawienia przykładowego wyrażenia. Opcjonalny argument localisedName funkcji może być teraz zerowy, zgodnie z innymi platformami CAD.
Niektóre funkcje API ograniczeń nie zwracały oczekiwanych wyników, gdy były wywoływane wiele razy z rzędu. Ten problem został rozwiązany.
Naprawiliśmy regresję z zagnieżdżonymi częściowymi niekompletnymi wywołaniami (poleceń) powodującymi nieprawidłowe działanie wiersza poleceń.
Funkcja (vla-get-MomentOfInertia) zwraca teraz wyniki kompatybilne z innymi platformami.
Podczas wywołania (bim:pset-create-property), typ danych dla nowo utworzonej właściwości PropertySet może być teraz zdefiniowany przez wartość przypisaną w kolejnym wywołaniu (bim:pset-set-property ename propertyset name value). Dodatkowo, obie funkcje obsługują teraz jawne określanie typu danych dla nowo utworzonej właściwości. Naprawiliśmy również nieprawidłowe mieszanie właściwości "Nazwa" i "Etykieta".
Funkcja (bim:get-bimtype) została zmieniona, aby umożliwić korzystanie z dynamicznych typów BIM.
Naprawiono błąd dostępu do pamięci podczas wywoływania (entmod) z listą definicji encji zawierającą pewne nieprawidłowe wpisy.
Dodano kilka nowych i ulepszonych funkcji Civil API.