|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
24.10.2009, 21:31 | #1 | |
Сомневаюсь в правильности своего перевода
C, C++, C#
С-Пб.
Регистрация: 07.10.2009
Сообщений: 2,762
|
||
Просмотров: 5641
|
|
||||
предложение всё. взято отсюда.
|
||||
|
||||
Регистрация: 28.10.2007
Сообщений: 528
|
A dictionary is a container object which can contain any AutoCAD object or an XRecord. Dictionaries are stored either in the database under the named object dictionary or as an extension dictionary of a table record or graphical entity. The named object dictionary is the master table for all of the dictionaries associated with a database. Unlike symbol tables, new dictionaries can be created and added to the named object dictionary. For more information on working with dictionaries, see Collection Objects.
Возможно, здесь Dictionaries не словари, а каталоги (есть такое значение)? Тогда: Каталоги хранятся либо в базе данных под соответствующим именем объекта каталога, или как расширенные каталоги таблиц записей или графических примитивов. Как-то так. |
|||
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813
|
Цитата:
Словари сохранены либо в составе базы данных под определёнными именами, либо как расширенные словари таблицы записей или графических примитивов. (имеются ввиду ExtensionDictionary) ~'J'~ |
|||
|
||||
Корректный перевод.
"Словари хранятся либо в составе словаря [или каталога] именованных объектов в базе данных, либо как расширенные словари, принадлежащие записям в таблице или графическим примитивам".
__________________
Reshaping the STEM field |
||||
|
||||
Цитата:
2 Олег (jr.) - да, похоже так более понятней. Всем спасибо. Следующий вопрос: Note: Dictionary objects cannot contain drawing entities. Слово "entities" можно перевести по разному, как "сущность" (что выглядит как-то размыто), как "модуль" (допускаю, но сомневаюсь), а так же как "графические примитивы" (согласно лингво). Поскольку я пока не знаю, могут ли словари содержать графические примитивы - уточняю этот момент: правильным является вариант "графические примитивы"? Или может есть др вариант, являющийся верным и упущенный мною? Последний раз редактировалось hwd, 25.10.2009 в 11:13. |
||||
|
||||
Не хотите - как хотите. Только учтите, я переводами для CAD профессионально занимаюсь, за деньги.
__________________
Reshaping the STEM field |
||||
|
||||
Попытаюсь объяснить. Это не будет дословным переводом, но абсолютно правильно по сути.
DBObject(AcDbObject) - объект, Dictionary(AcDbDictionary) - словарь, Entity(AcDbEntity) - графический примитив. Класс Entity унаследован от класса DBObject. Словарь не может содержать графические примитивы. Владельцем графических примитивов могут быть только (!!!) BlockTableRecord (AcDbBlockTableRecord). Графический примитив (как и любой другой объект) может иметь расширенный словарь ExtensionDictionary, который в свою очередь может иметь другие словари. Для лучшего понимания иерархии классов необходимо воспользоваться ClassMap.dwg из ObjetARX SDK. С учетом того, что все классы в .NET (ObjectARX .NET) - это лишь обертки над соответствующими классами ObjectARX нужно в первую очередь изучать документацию по ObjectARX. Она более устоявшаяся и соответственно имеет меньше ошибок. Последний раз редактировалось Александр Ривилис, 25.10.2009 в 12:20. |
||||
|
||||
2 Александр Бауск
не хотел обидеть вас, просто "Dictionaries are stored either in the database under the named object dictionary" на мой взгляд более всё же похоже на "Словари сохранены либо в составе базы данных под определёнными именами" чем на "Словари хранятся либо в составе словаря [или каталога] именованных объектов в базе данных". Может я конечно же и ошибаюсь... Просто лично мне вариант перевода Олег (jr.) более понятен, чем ваш. Хотя возможно ваш и более верен. 2 Александр Ривилис Спасибо за разъяснения. Можно ли из .нет (юзаю шарпея), посредством позднего связывания, использовать классы ObjectARX с целью создания своих типов объектов? или это можно только на С++? Или, как вариант, можно ли это сделать с помощью Visual C++ (хотя я в нем не разбираюсь, но он мне как-то "роднее" чем просто с++ в свете своей связи с .нет) И ещё, правильно ли я вас понял, что вы рекомендуете из .нет напрямую работать с ObjectARX, постепенно создавая тем самым свой набор управляемого .нет апи? Я у себя на сайте ранее писал такое: ... На мой взгляд, имеющаяся на данный момент реализация .Net API AutoCAD очень не похожа на стиль программирования .Net языков. Она ассоциируется у меня с записью на транслите - т.е. когда манера программирования, не свойственная .Net записана его командами. В процессе чтения кода, приведённого в мануале, складывается впечатление, что разработчики API ставили перед собой задачу - на скорую руку создать классы-обёртки для уже существующих неуправляемых классов, без надлежащего их документирования и реализации стиля программирования, свойственного .Net. Я считаю, что предоставленный разработчиками API является зачастую не интуитивным и реализован не рационально с точки зрения удобства и компактности - можно было написать всё гораздо более сжато и понятно. Ниже приведены два варианта кода (взятые из официального мануала), делающего одно и то же: код на C# : [CommandMethod("AddMyLayer")] public static void AddMyLayer() { // Get the current document and database, and start a transaction Document acDoc = Application.DocumentManager.MdiActiveDocument; Database acCurDb = acDoc.Database; using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction()) { // Returns the layer table for the current database LayerTable acLyrTbl; acLyrTbl = acTrans.GetObject(acCurDb.LayerTableId, OpenMode.ForRead) as LayerTable; // Check to see if MyLayer exists in the Layer table if (acLyrTbl.Has("MyLayer") != true) { // Open the Layer Table for write acLyrTbl.UpgradeOpen(); // Create a new layer table record and name the layer "MyLayer" LayerTableRecord acLyrTblRec = new LayerTableRecord(); acLyrTblRec.Name = "MyLayer"; // Add the new layer table record to the layer table and the transaction acLyrTbl.Add(acLyrTblRec); acTrans.AddNewlyCreatedDBObject(acLyrTblRec, true); // Commit the changes acTrans.Commit(); } // Dispose of the transaction } } А это - тот же код, но записанный на VBA: Sub AddMyLayer() Dim newLayer as AcadLayer Set newLayer = ThisDrawing.Layers.Add("MyLayer") End Sub Видно, что код, приведённый на VBA записан более компактно и понятно. Означает ли это, что лучше писать код на VBA? Нет, потому, что во-первых - его возможности не сопоставимы с возможностями того же C# , и во-вторых - разработчики AutoCAD сами рекомендуют переходить с VBA на др. языки программирования в виду того, что компания планирует в будущем прекратить поддержку VBA в озвученном САПР. Могу ли я избавить себя от написания кода в стиле, приведённом выше, записав его более компактно и понятно? Или у меня нет иного выбора и придётся постоянно писать огромный объём такого страшного и непонятного кода? Выбор есть всегда. Ничто не мешает мне попробовать написать свой вариант .Net API для AutoCAD, обращаясь напрямую к объектам библиотек ObjectARX посредством позднего связывания. В таком случае, выше приведённый код можно было бы записать на C# как-то так: [CommandMethod("AddMyLayer")] public static void AddMyLayer() { //Получаю ссылку на текущий документ (dwg-файл) Document dwg = Application.CurrentDocument; //Создаю объект типа линии, которую я назначая своему слою LineType lineType = new LineType(Colors.Green, "AnyLineType", 0.15); //Создаю объект слоя Layer myLayer = new Layer("MyLayer", lineType, True, "My notes about this layer"); //Проверяю, если такого слоя в чертеже ещё нет - добавляю в имеющуюся коллекцию слоёв мой myLayer if (!dwg.Layers.Contents("MyLayer")) dwg.Layers.Add(myLayer); } Код получился не такой компактный как в примере VBA, но, во первых - в нём присутствует множество текстовых комментариев, которые визуально увеличивают объём кода, а во вторых - он более гибок, т.к. позволяет выполнить более детальные настройки нужных мне объектов. Учитывая возможности синтаксиса C# 3.0 код можно переписать более компактно (убрав так же и комментарии, для сопоставления объема кода с VBA вариантом): [CommandMethod("AddMyLayer")] public static void AddMyLayer() { Document dwg = Application.CurrentDocument; if (!dwg.Layers.Contents(myLayer)) dwg.Layers.Add(new Layer("MyLayer", new LineType(Colors.Green, "AnyLineType", 0.15), True, "My notes about this layer")); } Несмотря на более компактную запись кода - он по прежнему занимает больше объёма, чем в примере на VBA. Конечно же, можно написать ещё компактнее, но тогда код станет менее гибким. Код, приведённый на VBA, хоть и выглядит компактней, но такой гибкости не имеет, т.к. настраивать свойства созданного слоя там придется в дополнительном блоке кода. В моём последнем примере на C# - всё сделано сразу. У разработчиков AutoCAD есть одна очень плохая привычка (это если не учитывать основную привычку - не исправив кучу багов в одной версии продукта, браться за выпуск очередной, базирующейся на кривой предидущей): они от версии к версии меняют состав .Net API как перчатки. В виду этого, свой вариант .Net API (имхо) лучше реализовать в обход, т.е. взаимодействуя напрямую с неуправляемым кодом основных библиотек AutoCAD. И ещё один не маловажный момент - в двух последних приведённых мною примерах, код хоть стал похож на код C#... Deprecated ObjectARX APIs .style1 { font-size: 10pt; line-height: 1.3em; width: 100%; border-left-style: none; border-left-color: inherit; border-left-width: medium; border-right-style: none; border-right-color: inherit; border-right-width: medium; border-top-style: none; border-top-color: inherit; border-top-width: medium; border-bottom: 1px solid #959595; margin-top: 0pt; margin-bottom: 0pt; padding-bottom: 0pt; } Removed ObjectARX Managed API This section lists APIs that are removed in this release. Declaration internal class UserProfileData; internal static class RibbonItemMetaDataManager; public abstract class ViewportGeometry2 : ViewportGeometry; public abstract class WorldGeometry2 : WorldGeometry; public class GalleryControlItem : DependencyObject; public class GalleryControlItemCollection : ObservableCollection<GalleryControlItem>; public class GalleryListControl : Selector; public class HelpInvokingEventArgs : EventArgs; public class ItemSelectedEventArgs : RoutedEventArgs; public class MenuBrowser : Window, IComponentConnector; public class MenuBrowserMenu : Menu; public class MenuBrowserMenuItem : MenuItem; public class MenuBrowserShow; public class RibbonDropDownButton : RibbonButton, IRibbonPopup; public class RibbonItemMetaDataCollection : RibbonObservableCollection<RibbonItemMetaData>; public class RibbonListItem : DependencyObject, IRibbonListItem, ICloneable, IRibbonContentUid; public class RibbonListItemCollection : ObservableCollection<RibbonListItem>, ICloneable; public class RibbonProperty : DependencyObject; public class RibbonRow : DependencyObject, ICloneable, IRibbonContentVersion; public class RibbonRowCollection : RibbonObservableCollection<RibbonRow>, ICloneable; public class SelectedItemEventArgs : RoutedEventArgs; public class SizeConverter : DropdownListConvert; public class TaskDialogEventArgs; public class ToolTip : System.Windows.Controls.ToolTip; public interface IMenuBrowserCommandTarget; public interface IRibbonListItem; public sealed class CreateRibbonItemAttribute : Attribute; public sealed class RibbonItemFactoryClassAttribute : Attribute; public sealed class RibbonItemMetaData : DependencyObject, IRibbonContentUid; public static class ToolTipService; public struct EdgeStyleOverride { internal uint m_mask; internal Autodesk.AutoCAD.GraphicsInterface.EdgeStyle m_edgeStyle; } public struct TableRegion { internal int m_minRow; internal int m_minCol; internal int m_maxRow; internal int m_maxCol; } Enums removed in this release. Namespace Declaration Autodesk.AutoCAD.GraphicsInterface public enum DisplaySettings { Backgrounds = 1, Lighting = 2, Materials = 4, None = 0, Textures = 8 } Autodesk.AutoCAD.GraphicsInterface public enum EdgeModel { NoEdges, Isolines, FacetEdges } Autodesk.AutoCAD.GraphicsInterface public enum EdgeModifiers { AlwaysOnTop = 0x40, Color = 8, HaloGap = 0x10, Jitter = 2, None = 0, Opacity = 0x80, Overhang = 1, Width = 4 } Autodesk.AutoCAD.GraphicsInterface public enum EdgeStyleApply { ApplyToDefault, ApplyToAll } Autodesk.AutoCAD.GraphicsInterface public enum EdgeStyleMaskValues { NoEdgeStyleMask, JitterMask, OverhangMask } Autodesk.AutoCAD.GraphicsInterface public enum EdgeVisibilityModes { Intersection = 8, None = 0, Obscured = 4, Silhouette = 2, Visible = 1 } Autodesk.AutoCAD.GraphicsInterface public enum FaceColorMode { None, ObjectColor, BackgroundColor, Mono, Tint, Desaturate } Autodesk.AutoCAD.GraphicsInterface public enum FaceModifiers { None, Opacity, Specular } Autodesk.AutoCAD.GraphicsInterface public enum JitterAmount { JitterHigh = 3, JitterLow = 1, JitterMedium = 2 } Autodesk.AutoCAD.GraphicsInterface public enum LightingModel { Invisible, Constant, Phong, Gooch } Autodesk.AutoCAD.GraphicsInterface public enum LightingQuality { NoLighting, PerFaceLighting, PerVertexLighting } Autodesk.AutoCAD.GraphicsInterface public enum ShadowDisplayType { None, GroundPlane, Full, FullAndGround } Autodesk.AutoCAD.GraphicsInterface public enum SymbolType { Grip } Autodesk.Windows public enum ContextualTabOption { AlwaysMerge = 3, Merge = 2, Replace = 1 } Autodesk.Windows public enum GalleryControlMode { None, Window, ComboBox } Autodesk.Windows public enum MenuItemQueryEnum { kByID, kByName, kByMacro } Autodesk.Windows public enum RibbonAutoHideMode { None, HidePanelBar, HidePanel } Autodesk.Windows public enum RibbonDockState { Bottom = 0x8000, Left = 0x1000, None = 0, Right = 0x4000, Top = 0x2000 } Autodesk.Windows public enum RibbonDropDownButtonStyle { Combo = 4, DropDown = 2, Flyout = 1, Menu = 3 } Autodesk.Windows public enum RibbonDropDownListStyle { CheckList = 5, Descriptive = 3, Gallery = 4, Icon = 1, List = 2 } Autodesk.Windows public enum RibbonHostEventTarget { Active = 2, Visible = 4, Visited = 1 } Autodesk.Windows public enum RibbonItemResizeStyle { Auto = 3, ChangeSize = 1, HideText = 2, NoResize = 0, ResizeHeight = 8, ResizeWidth = 4 } Autodesk.Windows public enum RibbonLockMode { LockAll = 7, LockDockedPanels = 1, LockFloatingPanels = 2, LockNone = 0, LockTabs = 4 } Autodesk.Windows public enum RibbonPanelResizeStyle { Default, NoCollapse, CollapseLast } Methods removed in this release. Class Declaratio Application public static MenuBrowserMenu MenuBrowserDatabase; Cell public bool IsValid; Cell public Cell(int row, int column); Cell public sealed override bool Equals(object pCell); Cell public sealed override int GetHashCode(); Cell public static bool operator !=(Cell cell1, Cell cell2); Cell public static bool operator ==(Cell cell1, Cell cell2); CellRange public CellRange(Cell topLeft, Cell bottomRight); CellRange public CellRange(int topRow, int leftColumn, int bottomRow, int rightColumn); Configuration public bool CacheViewportDrawGeometry; Configuration public bool UseHalfPixelDeviation; CreateRibbonItemAttribute public CreateRibbonItemAttribute(string sName); CreateRibbonItemAttribute public string Name; CUIWSQuickAccessToolbarNode public CUIWSQuickAccessToolbarNode(WorkspaceToolbar wsQuickAccessToolbar, CustomizationSection cuiFile); CustomizationSection public CustomizationSection(string fileName, string menuGroupName, bool readOnly, bool showMessageBox); CustomizationSection public void MakeDirty(); DBObject protected unsafe void AssertNotifyEnabled(); DBObject protected unsafe void AssertReadEnabled(); DBObject protected virtual unsafe void DwgInFields(DwgFiler filer); DBObject protected virtual unsafe void DwgOutFields(DwgFiler filer); DBObject protected virtual unsafe void DxfInFields(DxfFiler filer); DBObject protected virtual unsafe void DxfOutFields(DxfFiler filer); DBObject protected void AssertWriteEnabled([MarshalAs(UnmanagedType.U1)] bool autoUndo, [MarshalAs(UnmanagedType.U1)] bool recordModified); DBObject public override unsafe bool WorldDraw(Autodesk.AutoCAD.GraphicsInterface.WorldDraw wd); DBObject public override unsafe int SetAttributes(DrawableTraits traits); DBObject public override unsafe int ViewportDrawLogicalFlags(Autodesk.AutoCAD.GraphicsInterface.ViewportDraw vd); DBObject public override unsafe void ViewportDraw(Autodesk.AutoCAD.GraphicsInterface.ViewportDraw vd); DBText public ObjectId TextStyle; Dimension public virtual ObjectId Dimtxsty; DisplayStyle public Autodesk.AutoCAD.GraphicsInterface.DisplaySettings DisplaySettings; DisplayStyle public double Brightness; DisplayStyle public ShadowDisplayType ShadowType; DisplayStyle public unsafe DisplayStyle Clone(); DisplayStyle public unsafe DisplayStyle(); DisplayStyle public unsafe void Set(DisplayStyle style); DwgFiler public abstract void Seek(int modopt(IsLong) offset, int method); EdgeStyle public Autodesk.AutoCAD.Colors.Color EdgeColor; EdgeStyle public Autodesk.AutoCAD.Colors.Color IntersectionColor; EdgeStyle public Autodesk.AutoCAD.Colors.Color ObscuredColor; EdgeStyle public Autodesk.AutoCAD.Colors.Color SilhouetteColor; EdgeStyle public Autodesk.AutoCAD.GraphicsInterface.EdgeModel EdgeModel; EdgeStyle public Autodesk.AutoCAD.GraphicsInterface.EdgeModifiers EdgeModifiers; EdgeStyle public Autodesk.AutoCAD.GraphicsInterface.EdgeStyleApply EdgeStyleApply; EdgeStyle public Autodesk.AutoCAD.GraphicsInterface.JitterAmount Jitter; EdgeStyle public Autodesk.AutoCAD.GraphicsInterface.Linetype IntersectionLinetype; EdgeStyle public Autodesk.AutoCAD.GraphicsInterface.Linetype ObscuredLinetype; EdgeStyle public bool HidePrecision; EdgeStyle public double CreaseAngle; EdgeStyle public double Opacity; EdgeStyle public EdgeVisibilityModes EdgeVisibility; EdgeStyle public int EdgeWidth; EdgeStyle public int HaloGap; EdgeStyle public int Overhang; EdgeStyle public short Isolines; EdgeStyle public short SilhouetteWidth; EdgeStyle public unsafe Autodesk.AutoCAD.GraphicsInterface.EdgeStyle Clone(); EdgeStyle public unsafe EdgeStyle(); EdgeStyle public unsafe void Set(Autodesk.AutoCAD.GraphicsInterface.EdgeStyle style); EdgeStyleOverride public Autodesk.AutoCAD.GraphicsInterface.EdgeStyle EdgeStyle; EdgeStyleOverride public bool IsEqualTo(EdgeStyleOverride a); EdgeStyleOverride public EdgeStyleOverride(uint mask, Autodesk.AutoCAD.GraphicsInterface.EdgeStyle edgeStyle); EdgeStyleOverride public sealed override bool Equals(object obj); EdgeStyleOverride public sealed override int GetHashCode(); EdgeStyleOverride public static bool operator !=(EdgeStyleOverride a, EdgeStyleOverride b); EdgeStyleOverride public static bool operator ==(EdgeStyleOverride a, EdgeStyleOverride b); EdgeStyleOverride public uint Mask; Entity public virtual unsafe IntegerCollection GetGraphicsMarkersAtSubentityPath(FullSubentityPath subPath); FaceStyle public Autodesk.AutoCAD.Colors.Color MonoColor; FaceStyle public Autodesk.AutoCAD.GraphicsInterface.FaceColorMode FaceColorMode; FaceStyle public Autodesk.AutoCAD.GraphicsInterface.FaceModifiers FaceModifiers; FaceStyle public Autodesk.AutoCAD.GraphicsInterface.LightingModel LightingModel; FaceStyle public Autodesk.AutoCAD.GraphicsInterface.LightingQuality LightingQuality; FaceStyle public double Opacity; FaceStyle public double SpecularHighlight; FaceStyle public unsafe FaceStyle Clone(); FaceStyle public unsafe FaceStyle(); FaceStyle public unsafe void Set(FaceStyle value); FavoritesSource public virtual void Dispose(bool disposing); FavoritesSource public void AddFavoriteItem(ResultItem ri); FavoritesSource public void CheckFavorites(ref ResultItemCollection resultCollection); FavoritesSource public void RemoveFavoriteItem(ResultItem ri); GalleryControlItem public bool ShowOverlayImage; GalleryControlItem public ImageSource Image; GalleryControlItem public ImageSource OverlayImage; GalleryControlItem public string Text; GalleryListControl protected ListBoxItem GetContainerItem(DependencyObject obj); GalleryListControl protected ListBoxItem GetContainerItem(int index); GalleryListControl protected override bool IsItemItsOwnContainerOverride(object item); GalleryListControl protected override DependencyObject GetContainerForItemOverride(); GalleryListControl protected override void OnMouseLeftButtonUp(MouseButtonEventArgs args); GalleryListControl protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs args); GalleryListControl protected virtual void SelectItem(DependencyObject obj); GalleryListControl public bool IsMultiSelect; GalleryListControl public GalleryListControl(); GalleryListControl public IList SelectedItems; GeoLocationData public Autodesk.AutoCAD.DatabaseServices.UnitsValue DwgUnits; GeoLocationData public bool DoLocalToGridTransform; GeoLocationData public bool IsForeignCoordinateSystem; GeoLocationData public bool UseRotationPoint; GeoLocationData public double GeoElevation; GeoLocationData public double GridAzimuth; GeoLocationData public double Latitude; GeoLocationData public double LocalToGridRotation; GeoLocationData public double Longitude; GeoLocationData public Point2d GridReferencePoint; GeoLocationData public Point2d GridRotationPoint; GeoLocationData public Point2d LocalReferencePoint; GeoLocationData public Point2d LocalRotationPoint; GeoLocationData public Point3d DwgPoint; GeoLocationData public string CoordinateSystemWKT; GeoLocationData public uint GridReferencePointNumber; GeoLocationData public uint LocalReferencePointNumber; Glyph public sealed override unsafe int SetAttributes(DrawableTraits traits); Glyph public sealed override unsafe int ViewportDrawLogicalFlags(ViewportDraw vd); HelpInvokingEventArgs public bool Handled; ICommunicationCenterConnector CultureInfo CurrentUICulture(); ICommunicationCenterConnector DialogResult ShowDialog(IWin32Window owner, Form form, bool showModal, bool persistSizeAndPosition); ICommunicationCenterConnector event EventHandler<EventArgs> CurrentProfileChanged; ICommunicationCenterConnector ProductProfile GetProductProfile(); ICommunicationCenterConnector string GetCurrentProfileKey(); ICommunicationCenterConnector string GetProductRootkey(); ICommunicationCenterConnector string GetSubAwareClientInfo(); ICommunicationCenterConnector void InvokeHelp(string filename, string topic); ICommunicationCenterConnector void LaunchSubAwareModule(short resReqId, string CourseId, string ModuleId); IMenuBrowserCommandTarget BitmapSource GetBitmapForMenuItem(int sysId); IMenuBrowserCommandTarget bool CanExecute(string command); IMenuBrowserCommandTarget bool GetExtendedDocumentToolTipXaml(string pathName, ref string strTooltipXaml); IMenuBrowserCommandTarget bool LoadDocumentToolTipInfo(string filePathName, ref string versionInfo, ref string lastSaveBy, ref string currentlyOpenBy); InfoCenter public Control InfoCenterToolbar; InfoPalette public InfoPalette(); InfoPalette public SettingsChangedEventHandler SettingsChanged; InfoToolbar public bool KeepFocus; InfoToolbar public event EventHandler<EventArgs> ToolbarFocusChanged; InfoToolbar public event EventHandler<InfoToolbarItemClickedEventArgs> InfoToolbarButtonClicked; InfoToolbar public override void Refresh(); InfoToolbar public void CleanUp(); InfoToolbar public void ResetSize(); InfoToolbar public void ResizeTo(int width); InfoToolbar public void ShowBalloon(ResultItem rs, int displaySecs, float trans, LinkItemTailClickedEventHandler UpdateFav); InfoToolbarItemClickedEventArgs public InfoToolbarItemClickedEventArgs(MouseEventArgs e); InfoToolbarItemClickedEventArgs public InfoToolbarItemClickedEventArgs(string queryText, bool showsubmenu); InfoToolbarItemClickedEventArgs public int ButtonIndex; InfoToolbarItemClickedEventArgs public int X; InfoToolbarItemClickedEventArgs public int Y; InfoToolbarItemClickedEventArgs public MouseButtons Button; InfoToolbarItemClickedEventArgs public string QueryText; IRibbonListItem bool IsChecked; IRibbonListItem bool IsSeparator; IRibbonListItem bool IsVisible; IRibbonListItem ImageSource Image; IRibbonListItem ImageSource LargeImage; IRibbonListItem object ToolTip; IRibbonListItem string Description; IRibbonListItem string Title; ItemSelectedEventArgs public ItemSelectedEventArgs(); ItemSelectedEventArgs public ItemSelectedEventArgs(object selectedItem); ItemSelectedEventArgs public object SelectedItem; Leader public virtual ObjectId Dimtxsty; MenuBrowser public MenuBrowser(); MenuBrowser public void InitializeComponent(); MenuBrowserMenu internal FileItem ActiveDocument; MenuBrowserMenu public IMenuBrowserCommandTarget CommandTarget; MenuBrowserMenu public int MaxRecentActionCount; MenuBrowserMenu public int MaxRecentFileCount; MenuBrowserMenu public MenuBrowserMenu(); MenuBrowserMenu public MenuBrowserMenuItem GetMenuItem(string key, MenuItemQueryEnum queryMethod, bool bSearchInLazyNodes); MenuBrowserMenu public static bool GetIsFooterMenu(UIElement el); MenuBrowserMenu public static void SetIsFooterMenu(UIElement el, bool bFooter); MenuBrowserMenu public string ExitButtonCaption; MenuBrowserMenu public string OptionsButtonCaption; MenuBrowserMenu public string OptionsButtonMacro; MenuBrowserMenu public void AddToOpenedFileList(string filename, string docTitle, bool bActive); MenuBrowserMenu public void AddToRecentActionList(string actionPath, string actionMacro, bool bPinned); MenuBrowserMenu public void AddToRecentFileList(string filename, bool pinned, DateTime accessTime); MenuBrowserMenu public void RemoveFromOpenedFileList(string filename); MenuBrowserMenuItem public bool ExpressionResult; MenuBrowserMenuItem public bool HasExpression; MenuBrowserMenuItem public bool IsLazyLoaded; MenuBrowserMenuItem public bool IsSeparator; MenuBrowserMenuItem public char AccessKeyMaker; MenuBrowserMenuItem public int SysMenuID; MenuBrowserMenuItem public IntPtr MessageReceiver; MenuBrowserMenuItem public MenuBrowserMenuItem(); MenuBrowserMenuItem public object LazyIcon; MenuBrowserMenuItem public static int FindAccessKeyMarker(string text, char accessKeyMarker); MenuBrowserMenuItem public static void ParseAccessKey(string strInput, char accessKeyMaker, ref string accessKey, ref string strPreAccessKey, ref string strPostAccessKey); MenuBrowserMenuItem public string AccessKey; MenuBrowserMenuItem public string ActionPath; MenuBrowserMenuItem public string CommandDisplayName; MenuBrowserMenuItem public string Expression; MenuBrowserMenuItem public string HelpString; MenuBrowserMenuItem public string Macro; MenuBrowserMenuItem public string PostAccessKeyText; MenuBrowserMenuItem public string PreAccessKeyText; MenuBrowserMenuItem public string Shortcut; MenuBrowserMenuItem public string UID; MenuBrowserMenuItem public StringCollection Tags; MenuBrowserMenuItem public void AddSubItem(MenuBrowserMenuItem item, int pos); MenuBrowserShow public static bool ShowMB(int x, int y, int maxHeight, MenuBrowserMenu menuBrowserDB, bool bShowToUpper, IntPtr menuBrowserBtnHandle, char accessKey); MenuBrowserShow public static extern IntPtr GetParent(IntPtr hWnd); MenuBrowserShow public static extern IntPtr SetParent(IntPtr hWnd, IntPtr hParentWnd); MText public ObjectId TextStyle; OpenCloseTransaction public override DBObject GetObject(ObjectId id, OpenMode mode); OpenCloseTransaction public override DBObject GetObject(ObjectId id, OpenMode mode, [MarshalAs(UnmanagedType.U1)] bool openErased); OpenCloseTransaction public override DBObject GetObject(ObjectId id, OpenMode mode, [MarshalAs(UnmanagedType.U1)] bool openErased, [MarshalAs(UnmanagedType.U1)] bool forceOpenOnLockedLayer); PaletteMgr public Autodesk.InfoCenter.Configuration Configuration; PaletteMgr public Autodesk.InfoCenter.FavoritesSource FavoritesSource; PaletteMgr public bool Initialized; PaletteMgr public InfoPalette ActivePalette; PaletteMgr public InfoPalette CommCenterPalette; PaletteMgr public InfoPalette FavoritePalette; PaletteMgr public InfoPalette SearchPalette; PaletteMgr public PaletteMgr(ICommunicationCenterConnector commCenterConn, IInetEngine inetEngineConn, InfoToolbar toolbar); PaletteMgr public SourceBase GetCommCntrSource(int index); PaletteMgr public SourceBase GetSearchSource(int index); PaletteMgr public void AddCommCntrSource(SourceBase sb); PaletteMgr public void AddSearchSource(SourceBase sb); PaletteMgr public void Dispose(bool disposing); PaletteMgr public void Initialize(); PaletteMgr public void RemoveCommCntrSource(SourceBase sb); PaletteMgr public void RemoveSearchSource(SourceBase sb); PaletteMgr public void ResizeTo(int width); PaletteMgr public void ShowBalloon(ResultItem ri); PaletteMgr public void ShowBalloon(string category, string title, Icon icon, Uri targetUrl, int displayDuration, float opacity); PaletteMgr public void ShowBalloon(string messageId, string appName, string title, string xamlFragment); PaletteMgr public void ShowCommCntrPalette(); PaletteMgr public void ShowFavoritesPalette(); PaletteMgr public void ShowSearchPalette(string query); PaletteMgr public void ToolbarMoved(); PaletteMgr public void UpdateFavorites(object sender); ResultItem public bool InFavoritesPanel; ResultItem public bool IsFavorite; ResultItem public bool IsLink; ResultItem public bool IsNew; ResultItem public DateTime Timestamp; ResultItem public event EventHandler<ResultClickEventArgs> ResultClicked; ResultItem public override bool Equals(object obj); ResultItem public override int GetHashCode(); ResultItem public override string ToString(); ResultItem public ResultType Type; ResultItem public static bool operator !=(ResultItem left, ResultItem right); ResultItem public static bool operator ==(ResultItem left, ResultItem right); ResultItem public string Category; ResultItem public string Group; ResultItem public string Keyword; ResultItem public string Title; ResultItem public string TooltipText; ResultItem public System.Uri Uri; ResultItem public virtual string GetToolTip(); ResultItem public void DefaultAction(); ResultItem public void OnResultClicked(ResultClickEventArgs e); ResultItemCollection public int ResultsPerPage; ResultItemCollection public ResultItemCollection(string group, string category); ResultItemCollection public ResultItemCollection(string group, string category, int resultsPerPage); ResultItemCollection public string Category; ResultItemCollection public string Group; RibbonButton public event RoutedEventHandler Click; RibbonButton public virtual bool CanExecute(); RibbonButton public virtual void Execute(); RibbonCommandButton public bool ShouldSerializeMacro(); RibbonControl public bool IsPanelBarOpen; RibbonControl public bool ShowPanelTitleInHorizontalOrientation; RibbonControl public bool ShowPanelTitleInVerticalOrientation; RibbonControl public event EventHandler PanelDocked; RibbonControl public event EventHandler PanelFloated; RibbonControl public RibbonTab ActiveContextualTab; RibbonControl public void RaiseHostEvent(object sender, HostEventArgs e); RibbonControl public void ShowContextualTab(RibbonTab tab, bool bActivate); RibbonControl public Window RibbonHostWindow; RibbonDropDownButton protected override void CopyAttachedPropertiesFrom(RibbonItem source); RibbonDropDownButton public bool AutoExecuteSelectedItem; RibbonDropDownButton public bool IsChecked; RibbonDropDownButton public bool IsSynchronizedWithCurrentItem; RibbonDropDownButton public event EventHandler Closed; RibbonDropDownButton public event EventHandler Opened; RibbonDropDownButton public event ItemSelectedEventHandler ItemSelected; RibbonDropDownButton public object Current; RibbonDropDownButton public ObservableCollection<MenuItem> MenuItems; RibbonDropDownButton public ObservableCollection<object> Items; RibbonDropDownButton public override object FormattedToolTip; RibbonDropDownButton public override void CopyFrom(RibbonItem source); RibbonDropDownButton public RibbonDropDownButton(); RibbonDropDownButton public RibbonDropDownButtonStyle ButtonStyle; RibbonDropDownButton public RibbonDropDownListStyle ListStyle; RibbonDropDownButton public RibbonImageSize ListImageSize; RibbonDropDownButton public RibbonPanelSource PanelSource; RibbonDropDownButton public string PanelSourceId; RibbonForm public System.Windows.Forms.Control Control; RibbonForm public WindowsFormsHost Host; RibbonItem public bool Resizeable; RibbonItem public bool ShowAsButton; RibbonItem public double ExtendedMinWidth; RibbonItem public double MaxWidth; RibbonItem public event EventHandler Uninitialized; RibbonItem public RibbonItem SourceItem; RibbonItem public RibbonItemMetaData GetMetaData(); RibbonItem public string Alias; RibbonItem public string SourceItemAssembly; RibbonItem public string SourceItemName; RibbonItem public virtual object FormattedToolTip; RibbonItemFactoryClassAttribute public System.Type Type; RibbonItemMetaData public ImageSource Image; RibbonItemMetaData public ImageSource LargeImage; RibbonItemMetaData public object ToolTip; RibbonItemMetaData public RibbonItem CreateItem(); RibbonItemMetaData public RibbonItemMetaData(); RibbonItemMetaData public static readonly DependencyProperty TextProperty = DependencyProperty.Register("Text", typeof(string), typeof(RibbonItemMetaData), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits, null)); RibbonItemMetaData public string AssemblyFile; RibbonItemMetaData public string Description; RibbonItemMetaData public string DisplayName; RibbonItemMetaData public string Name; RibbonItemMetaData public string Text; RibbonItemMetaDataManager public static Autodesk.Windows.RibbonItemMetaDataCollection RibbonItemMetaDataCollection; RibbonItemMetaDataManager public static RibbonItemMetaData GetMetaData(string sName); RibbonListItem public bool IsChecked; RibbonListItem public bool IsSeparator; RibbonListItem public bool IsVisible; RibbonListItem public event EventHandler CheckStateChanged; RibbonListItem public ImageSource Image; RibbonListItem public ImageSource LargeImage; RibbonListItem public object Tag; RibbonListItem public object ToolTip; RibbonListItem public RibbonListItem Clone(); RibbonListItem public string Description; RibbonListItem public string Title; RibbonListItem public virtual void CopyFrom(RibbonListItem source); RibbonListItemCollection public RibbonListItemCollection Clone(); RibbonListItemCollection public virtual void CopyFrom(RibbonListItemCollection source); RibbonPaletteSet public Autodesk.AutoCAD.Ribbon.RibbonContent RibbonContent; RibbonPaletteSet public IntPtr WindowHandle; RibbonPaletteSet public System.Windows.Window Window; RibbonPanel public bool CanDock; RibbonPanel public bool CanExpand; RibbonPanel public bool FloatAlone; RibbonPanel public bool IsExpanded; RibbonPanel public bool IsOpen; RibbonPanel public bool IsVisibleInTab; RibbonPanel public bool ShowAsButton; RibbonPanel public double DockedHeight; RibbonPanel public double FloatingHeight; RibbonPanel public event EventHandler Collapsed; RibbonPanel public event EventHandler Docked; RibbonPanel public event EventHandler Expanded; RibbonPanel public event EventHandler Floated; RibbonPanel public ImageSource ShowAsButtonImage; RibbonPanelCollection public RibbonPanelCollection Clone(); RibbonPanelCollection public void CopyFrom(RibbonPanelCollection source); RibbonPanelSource public bool Remove(RibbonItem item); RibbonPanelSource public ImageSource Image; RibbonPanelSource public RibbonRowCollection Rows; RibbonPanelSource public string Alias; RibbonProperty public static bool GetHiddenInEditor(DependencyObject depObj); RibbonProperty public static void CopyFrom(DependencyObject source, DependencyObject destination); RibbonProperty public static void SetHiddenInEditor(DependencyObject depObj, bool val); RibbonRow public bool IsInSlideoutPanel; RibbonRow public RibbonItemCollection Items; RibbonRow public RibbonRow Clone(); RibbonRow public RibbonRow(); RibbonRow public string Description; RibbonRow public string Title; RibbonRow public virtual void CopyFrom(RibbonRow row); RibbonRowCollection public RibbonRowCollection Clone(); RibbonRowCollection public void CopyFrom(RibbonRowCollection source); RibbonRowPanel public bool Remove(RibbonItem item); RibbonRowPanel public RibbonRowCollection Rows; RibbonRowPanel public RibbonRowPanel(); RibbonTab public Autodesk.Windows.ContextualTabOption ContextualTabOption; RibbonTab public bool ShowTitle; RibbonTab public ImageSource Image; RibbonTab public object ToolTip; RibbonTab public RibbonPanelFrameCollection PanelFrames; RibbonTab public string Alias; RibbonTab public virtual object FormattedToolTip; RibbonTabCollection public RibbonTabCollection Clone(); RibbonTabCollection public void CopyFrom(RibbonTabCollection source); RibbonToggleButton public bool IsChecked; Section public unsafe void EnableLiveSection([MarshalAs(UnmanagedType.U1)] bool bEnable); SelectedItemEventArgs public object SelectedItem; SizeConverter public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value); SizeConverter public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType); SizeConverter public SizeConverter(); SourceBase public event EventHandler<NewItemEventArgs> NewItemEvent; SourceBase public ResultItemCollection Results; SourceBase public SourceBase(); SourceBase public SourceBase(string query); SourceBase public string QueryString; SourceBase public virtual ResultItemCollection ExecuteQuery(); SourceBase public virtual void AddZeroResultsMsg(); SourceBase public virtual void PollNow(); SourceBase public void ResetSource(); Spline public unsafe void ReverseCurve(); SubEntityTraits public abstract Autodesk.AutoCAD.GraphicsInterface.EdgeStyleOverride EdgeStyleOverride; Table public virtual unsafe TableRegion IsMergedCell(int row, int col); Table public virtual unsafe void MergeCells(TableRegion value); Table public virtual unsafe void UnmergeCells(TableRegion value); TableRegion public bool IsNull; TableRegion public CellRange ToCellRange(); TableRegion public int FirstColumn; TableRegion public int FirstRow; TableRegion public int LastColumn; TableRegion public int LastRow; TableRegion public sealed override bool Equals(object tRegion); TableRegion public sealed override int GetHashCode(); TableRegion public static bool operator !=(TableRegion t1, TableRegion t2); TableRegion public static bool operator ==(TableRegion t1, TableRegion t2); TableRegion public TableRegion(int firstRow, int firstColumn, int lastRow, int lastColumn); TaskDialogEventArgs public bool Expanded; TaskDialogEventArgs public bool VerificationFlagChecked; TaskDialogEventArgs public int ButtonId; TaskDialogEventArgs public string Hyperlink; TaskDialogEventArgs public TaskDialogNotification Notification; TaskDialogEventArgs public uint TimerTickCount; ToolTip public double BackgroundOpacity; ToolTip public event HelpInvokingHandle HelpInvoking; ToolTip public int FadeInTime; ToolTip public int FadeOutTime; ToolTip public string CurrentHelpTopic; ToolTip public System.Windows.Media.Color BackgroundBorderColor; ToolTip public System.Windows.Media.Color BackgroundEndColor; ToolTip public System.Windows.Media.Color BackgroundStartColor; ToolTip public ToolTip(); ToolTip public Uri CurrentHelpSource; ToolTip public void Close(); ToolTip public void Close(bool immediately); ToolTip public void Show(); ToolTip public void Show(int x, int y); ToolTip public void SkipFadingOut(); ToolTip public void StopFadingOut(); ToolTipService public static string GetHelpTopic(DependencyObject el); ToolTipService public static Uri GetHelpSource(DependencyObject el); ToolTipService public static void SetHelpSource(DependencyObject el, Uri val); ToolTipService public static void SetHelpTopic(DependencyObject el, string val); UserProfileData public bool IsFooter; UserProfileData public int GroupByIndex; UserProfileData public int ThumbnailSizeIndex; UserProfileData public string LastMenuItem; Viewport public abstract IntPtr ViewportIdPtr; ViewportGeometry2 protected unsafe ViewportGeometry2(); ViewportGeometry2 public abstract bool Symbol(SymbolType type, Point3dCollection pPoints, EntityColor outlineColor, EntityColor fillColor); VisualStyle public void ConfigureForType(VisualStyleType type); Workspace public WorkspacePanelCollection WorkspacePanels; WorldGeometry2 protected unsafe WorldGeometry2(); WorldGeometry2 public abstract bool Symbol(SymbolType type, Point3dCollection pPoints, EntityColor outlineColor, EntityColor fillColor); Copyright © 2009 Autodesk, Inc. Т.е. закрадывается беспокойство: если с помощью .Net API AutoCAD был написан код под 2009-й автокад, далеко не факт, что он будет работать в 2010. И простым компилированием под библиотеки новой версии тут не отделаешься - велика вероятность того, что переписывать многое придется с нуля... многое, если вообще не всё... След. вопрос: Some of the objects represented in the AutoCAD .NET API are: * Graphical objects such as lines, arcs, text, and dimensions * Style settings such as layers, linetypes, and dimension styles * Organizational structures such as layers, groups, and blocks * The drawing display such as view and viewport * Even the drawing and the AutoCAD application <====== ВОТ ЗДЕСЬ меня слегка сбивает с толку слово "even" (даже)... Почему "даже"? может это опечатка и правильное слово events? Тем более, что так было бы более логично в виду наличия событий как для документа, так и для приложения и их важности... Просто если бы речь шла только об чертеже и объекте приложения, то достаточно было бы написать так: * the drawing and the AutoCAD application ? Последний раз редактировалось hwd, 25.10.2009 в 21:17. |
||||
|
|||||
Цитата:
Цитата:
Цитата:
Цитата:
Можно так же компактно записать и на C# если использовать AutoCAD как COM-сервер. Но это будет кратко, но неэффективно. COM-модель AutoCAD подразумевает, что все создаваемые DB-объекты могут находится только в dwg-файле, т.е., например, при создании отрезка он сразу попадает в чертеж. На .NET можно с этими объектами производить различные манипуляции еще до того, как он будет добавлен в базу чертежа. Мне, как человеку программирующему на ObjectARX много лет, логика .NET-классов AutoCAD понятна и приемлима именно в силу того, что они в 90% случаев лишь обертки над классами ObjectARX. |
|||||