| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Сомневаюсь в правильности своего перевода

Сомневаюсь в правильности своего перевода

Ответ
Поиск в этой теме
Непрочитано 24.10.2009, 21:31 #1
Сомневаюсь в правильности своего перевода
hwd
 
C, C++, C#
 
С-Пб.
Регистрация: 07.10.2009
Сообщений: 2,762

Оригинал:
Dictionaries are stored either in the database under the named object dictionary or as an extension dictionary of a table record or graphical entity.

Мой вариант перевода:
Словари сохранены либо в составе базы данных под определёнными именами, либо как дополнительные словари (таблицы записей), либо как графические примитивы.
Просмотров: 5641
 
Непрочитано 24.10.2009, 22:00
#2
Kinzer


 
Регистрация: 28.10.2007
Сообщений: 528


А это все предложение? Откуда оно взято?
"Словари сохранены либо в базе данных под именем объекта словаря, либо как расширенный словарь таблицы записей, либо как графический примитив." Я б так перевел.
Kinzer вне форума  
 
Автор темы   Непрочитано 24.10.2009, 22:51
#3
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Kinzer Посмотреть сообщение
А это все предложение? Откуда оно взято?
предложение всё. взято отсюда.
hwd вне форума  
 
Непрочитано 24.10.2009, 23:31
#4
Kinzer


 
Регистрация: 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 не словари, а каталоги (есть такое значение)?
Тогда: Каталоги хранятся либо в базе данных под соответствующим именем объекта каталога, или как расширенные каталоги таблиц записей или графических примитивов.

Как-то так.
Kinzer вне форума  
 
Непрочитано 25.10.2009, 00:16
#5
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813


Цитата:
Сообщение от hwd Посмотреть сообщение
Оригинал:
Dictionaries are stored either in the database under the named object dictionary or as an extension dictionary of a table record or graphical entity.

Мой вариант перевода:
Словари сохранены либо в составе базы данных под определёнными именами, либо как дополнительные словари (таблицы записей), либо как графические примитивы.
Скорее так:


Словари сохранены либо в составе базы данных под определёнными именами, либо как расширенные словари таблицы записей или графических примитивов. (имеются ввиду ExtensionDictionary)

~'J'~
Олег (jr.) вне форума  
 
Непрочитано 25.10.2009, 02:34
#6
Александр Бауск

FEA/CAD/МКЭ/САПР
 
Регистрация: 20.03.2007
48,38°:35,03°
Сообщений: 1,056
Отправить сообщение для Александр Бауск с помощью Skype™


Корректный перевод.

"Словари хранятся либо в составе словаря [или каталога] именованных объектов в базе данных, либо как расширенные словари, принадлежащие записям в таблице или графическим примитивам".
__________________
Reshaping the STEM field
Александр Бауск вне форума  
 
Автор темы   Непрочитано 25.10.2009, 10:23
#7
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Александр Бауск Посмотреть сообщение
Корректный перевод. "Словари хранятся либо в составе словаря [или каталога]
Это явно не оно...

2 Олег (jr.) - да, похоже так более понятней.


Всем спасибо.

Следующий вопрос:

Note: Dictionary objects cannot contain drawing entities.

Слово "entities" можно перевести по разному, как "сущность" (что выглядит как-то размыто), как "модуль" (допускаю, но сомневаюсь), а так же как "графические примитивы" (согласно лингво). Поскольку я пока не знаю, могут ли словари содержать графические примитивы - уточняю этот момент: правильным является вариант "графические примитивы"? Или может есть др вариант, являющийся верным и упущенный мною?

Последний раз редактировалось hwd, 25.10.2009 в 11:13.
hwd вне форума  
 
Непрочитано 25.10.2009, 12:05
#8
Александр Бауск

FEA/CAD/МКЭ/САПР
 
Регистрация: 20.03.2007
48,38°:35,03°
Сообщений: 1,056
Отправить сообщение для Александр Бауск с помощью Skype™


Не хотите - как хотите. Только учтите, я переводами для CAD профессионально занимаюсь, за деньги.
__________________
Reshaping the STEM field
Александр Бауск вне форума  
 
Непрочитано 25.10.2009, 12:14
#9
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,407
Отправить сообщение для Александр Ривилис с помощью Skype™


Попытаюсь объяснить. Это не будет дословным переводом, но абсолютно правильно по сути.
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.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 25.10.2009, 13:11
#10
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


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.
hwd вне форума  
 
Непрочитано 26.10.2009, 08:37
#11
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,407
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
Можно ли из .нет (юзаю шарпея), посредством позднего связывания, использовать классы ObjectARX с целью создания своих типов объектов?
Нет. Свои типы объектов можно создавать только при помощи чистого ObjectARX (т.е. с использованием чистого (unmanaged) C++).
Цитата:
Сообщение от hwd Посмотреть сообщение
или это можно только на С++? Или, как вариант, можно ли это сделать с помощью Visual C++ (хотя я в нем не разбираюсь, но он мне как-то "роднее" чем просто с++ в свете своей связи с .нет)
Читай выше.

Цитата:
Сообщение от hwd Посмотреть сообщение
И ещё, правильно ли я вас понял, что вы рекомендуете из .нет напрямую работать с ObjectARX, постепенно создавая тем самым свой набор управляемого .нет апи?
Я ничего не рекомендую. Если я бы рекомендовал - то рекомендовал бы использовать чистый ObjectARX.

Цитата:
Сообщение от hwd Посмотреть сообщение
Т.е. закрадывается беспокойство: если с помощью .Net API AutoCAD был написан код под 2009-й автокад, далеко не факт, что он будет работать в 2010. И простым компилированием под библиотеки новой версии тут не отделаешься - велика вероятность того, что переписывать многое придется с нуля... многое, если вообще не всё...
Ну насчет того что переписывать все - это явное преувеличение. Сначала разберись что убрали и на что это влияет.
Цитата:
Сообщение от hwd Посмотреть сообщение
Видно, что код, приведённый на VBA записан более компактно и понятно
Можно так же компактно записать и на C# если использовать AutoCAD как COM-сервер. Но это будет кратко, но неэффективно. COM-модель AutoCAD подразумевает, что все создаваемые DB-объекты могут находится только в dwg-файле, т.е., например, при создании отрезка он сразу попадает в чертеж. На .NET можно с этими объектами производить различные манипуляции еще до того, как он будет добавлен в базу чертежа. Мне, как человеку программирующему на ObjectARX много лет, логика .NET-классов AutoCAD понятна и приемлима именно в силу того, что они в 90% случаев лишь обертки над классами ObjectARX.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 26.10.2009, 08:43
#12
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Спасибо.
hwd вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Сомневаюсь в правильности своего перевода

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск