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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Объекты СОМ в AutoCAD

Объекты СОМ в AutoCAD

Ответ
Поиск в этой теме
Непрочитано 16.01.2008, 14:05
Объекты СОМ в AutoCAD
Supermax
 
Руководитель фирмы
 
Москва
Регистрация: 28.03.2007
Сообщений: 1,831

Я думаю, что настало время завести специальную тему по поводу использования объектов СОМ технологии.
Ссылки, описания библиотек DLL, методы, свойства и прочее. Естественно в ключе использования AutoCAD-a на язывак AutoLISP и VBA.


Первая проблема:
Объект WScript.Shell
(setq svr (vlax-get-or-create-object "WScript.Shell"))
; создаем объект
(vlax-dump-object svr T)
; читаем его свойства и методы

Код:
[Выделить все]
; IWshShell3: Shell Object Interface
; Property values:
;   CurrentDirectory = ...Indexed contents not shown...
; Methods supported:
;   Exec (2)
T
Это у меня

А это у людей
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=39974nf

Код:
[Выделить все]
(defun C:TEST()
  (vl-load-com)
  (if (and
        (setq FILE (getfiled "Выберите файл для чтения" "" "csv" 16))
        (setq WS (vlax-get-or-create-object "wscript.shell"))
        )
  (vlax-invoke-method WS
    "run"
    (strcat "notepad.exe\ " FILE)
    4
    :vlax-true)
    )
  )
И это в описании
http://www.script-coding.info/WSH/WshShell.html

Библиотеки исполняемые модули вроде
wscript.exe 5.06.0000.8820
scrobj.dll 5.06.0000.8820
scrrun.dll 5.06.0000.8820
vbscript.dll 5.06.0000.8820

Но не уверен.
Кто и что скажет?

Люди! Сделайте
(vl-load-com)
(setq svr (vlax-get-or-create-object "WScript.Shell"))
(vlax-dump-object svr T)
;;; а потом
(vl-catch-all-apply '(lambda () (vlax-release-object svr)))


на своих машинах!!! Пожалуйста!!!
И скажите что видите.
Просмотров: 39442
 
Автор темы   Непрочитано 17.01.2008, 14:22
#21
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Страшная штука!

ADROT.dll
-------------------------------------------------
AdRotator.AdRotator


Тут про борьбу со злом:

http://translate.google.com/translat...006-40,GGLR:en

Только почему-то там говорится про brrotate.dll и adrotate.dll на три буковки слово длиннее. Разбираться надо, однако.
Можно использовать для вывода на экран разного рода информации, если за этой dll-кой не будут охотиться сисадмины.
Описание:
Вложения
Тип файла: doc ADROT.doc (33.0 Кб, 135 просмотров)

Последний раз редактировалось Supermax, 17.01.2008 в 14:33.
Supermax вне форума  
 
Автор темы   Непрочитано 17.01.2008, 14:34
#22
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


asptxn.dll
-------------------------------------------------
ASPTxnTypeLibrary.ASPObjectContextTxNotSupported
ASPTxnTypeLibrary.ASPObjectContextTxRequired
ASPTxnTypeLibrary.ASPObjectContextTxRequiresNew
ASPTxnTypeLibrary.ASPObjectContextTxSupported

Более подробно:
http://www.webtropy.com/articles/art...TxnTypeLibrary

Описание:
Вложения
Тип файла: doc asptxn.doc (30.0 Кб, 122 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 17.01.2008, 14:39
#23
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


ASP.dll
-------------------------------------------------
ASPTypeLibrary.Application
ASPTypeLibrary.Request
ASPTypeLibrary.Response
ASPTypeLibrary.ScriptingContext
ASPTypeLibrary.Server
ASPTypeLibrary.Session

За информацией сюда:
http://www.asp.net/
и сюда:
http://www.aspnetmania.com/


Описание:
Вложения
Тип файла: doc ASP.doc (93.0 Кб, 295 просмотров)

Последний раз редактировалось Supermax, 17.01.2008 в 14:49.
Supermax вне форума  
 
Автор темы   Непрочитано 17.01.2008, 15:16
#24
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


browscap.dll
---------------------------------------------------
BrowserType.BrowserCap

http://www.dll-files.ru/dll/b/browscap.dll.html

Описание:
Вложения
Тип файла: doc browscap.doc (28.0 Кб, 104 просмотров)

Последний раз редактировалось Supermax, 28.02.2008 в 13:25.
Supermax вне форума  
 
Автор темы   Непрочитано 17.01.2008, 15:17
#25
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


CertMap.ocx
--------------------------------------------------
CERTMAPLib.CertAuth
CERTMAPLib.Certmap

Описание:
Вложения
Тип файла: doc CertMap.doc (33.0 Кб, 114 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 18.01.2008, 12:50
#26
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


CertWiz.ocx
---------------------------------------------------
CERTWIZLib.CertWiz

Описание:
Вложения
Тип файла: doc CertWiz.doc (26.0 Кб, 115 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 18.01.2008, 12:51
#27
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Cnfgprts.ocx
---------------------------------------------------
CNFGPRTSLib.Apps
CNFGPRTSLib.LogUI
CNFGPRTSLib.Rat

Описание:
Вложения
Тип файла: doc Cnfgprts.doc (35.5 Кб, 113 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 18.01.2008, 12:52
#28
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


ContRot.dll
--------------------------------------------------
ContentRotator.ContentRotator

Описание:
Вложения
Тип файла: doc ContRot.doc (28.5 Кб, 122 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 18.01.2008, 12:53
#29
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


counters.dll
-------------------------------------------------
Counters.Counters

Описание:
Вложения
Тип файла: doc counters.doc (29.5 Кб, 104 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 18.01.2008, 12:54
#30
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


logscrpt.dll
------------------------------------------------
IISLog.LogScripting

Описание:
Вложения
Тип файла: doc logscrpt.doc (42.0 Кб, 128 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 18.01.2008, 12:57
#31
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


mdsync.dll
------------------------------------------------
MDSYNCLib.MdSync
MDSYNCLib.regc

Описание:
Вложения
Тип файла: doc mdsync.doc (32.5 Кб, 135 просмотров)
Supermax вне форума  
 
Непрочитано 18.01.2008, 13:01
#32
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,093


А можно ли с помощью COM добраться из Лиспа до подшивок Акада (2006)?
Типа как (setq svr (vlax-get-or-create-object "Sheetset")), а дальше получить доступ к свойствам и методам?
kp+ вне форума  
 
Автор темы   Непрочитано 18.01.2008, 15:08
#33
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


О каких подшивках идет речь?

"Sheetset" это не СОМ объект.
Supermax вне форума  
 
Непрочитано 18.01.2008, 15:57
#34
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


Справка разработчика (ADT 2006) говорит следующее:
Цитата:
Overview of Sheet Set Manager Objects The Sheet Set Manager
API is based on a set of COM objects. You can use the COM objects of the Sheet Set Manager to develop macros and applications that create sheet sets and perform related tasks.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 18.01.2008, 16:07
#35
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,093


ну оговорился я. действительно, не sheetset, а sheetsetmanager. не судите строго.
Лучше поскажите, PLS, как правильно записать на лиспе создание этого COM-объекта. У меня почему-то не получилось
kp+ вне форума  
 
Автор темы   Непрочитано 19.01.2008, 13:11
#36
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Sheet Set Manager - это сервис автокада, а не объект.
Вызывается через File\New Sheet Set... После того, как ты создал подшивку листов, в автокаде создаются следующие объекты:

AcSmAcDbBlockRecordReference
AcSmAcDbDatabase
AcSmAcDbLayoutReference
AcSmAcDbObjectReference
AcSmAcDbViewReference
AcSmCalloutBlockReferences
AcSmCalloutBlocks
AcSmCustomPropertyBag
AcSmCustomPropertyValue
AcSmDatabase
AcSmDSTFiler
AcSmEvent
AcSmFileReference
AcSmNamedAcDbObjectReference
AcSmObjectReference
AcSmPersistProxy
AcSmPublishOptions
AcSmResources
AcSmSheet
AcSmSheetSelSet
AcSmSheetSelSets
AcSmSheetSet
AcSmSheetSetMgr
AcSmSheetView
AcSmSheetViews
AcSmSubset
AcSmViewCategories
AcSmViewCategory

IAcSmComponent
IAcSmEnumAcDbBlockRecordReference
IAcSmEnumComponent
IAcSmEnumDatabase
IAcSmEnumFileReference
IAcSmEnumPersist
IAcSmEnumProperty
IAcSmEnumSheetSelSet
IAcSmEnumSheetView
IAcSmEnumViewCategory
IAcSmEvents
IAcSmObjectId
IAcSmPersist

PropertyFlags

Более подробно о них, их свойствах и прочими аксессуарами сюда:
http://www.kxcad.net/autodesk/autoca...Help/1sso.html

Пример работы на VBA - сюда:
http://www.augi.com/education/auhand...005/CP15-1.pdf

Чтобы создать такие объекты надо делать так:
(setq asadbrr (entmakex '((0 . "AcSmAcDbBlockRecordReference") и тут другие пары для этого объекта)))
Какие пары нужны для создания я не знаю, и последовательность создания тоже. Не было нужды.

Последний раз редактировалось Supermax, 19.01.2008 в 13:50.
Supermax вне форума  
 
Автор темы   Непрочитано 19.01.2008, 13:30
#37
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


СОМ объект, это массив данных в оперативной памяти машины (включая в понятие "оперативная память" и временные файлы), которые понимается как объект, то есть имеет свойства, допускает или не допускает применение к себе различных методов и после этого реагирует определенным образом на эти действия.
Чтобы его создать нужна программа с расширением *.exe Которая пользуясь алгоритмом создания, написанного либо прямо в ней, либо в библиотеке *.dll создает такой объект.
От того, что вы положили себе в машину dll-ку - никаких объектов не появится. И даже если вы положили программу, работающую с ними, но не запустили ее - тоже, объектов не найдете. Зарегистрировать эту dll-ку вы сможете, только если в реестре есть указание на программу, которая с ней работает.
AutoCAD тоже является такой программой и некоторые объекты он создает, только если его заставить это сделать. Все вышеперечисленные объекты таковыми и являются.

Функция vlax-get-or-create-object не создает объект!!! Она вычисляет указатель (VLA-объект), или создает указатель, да и то, только для внешнего приложения!

Цитирую Полещука:
Цитата:
6.3.10. Функция vlax-get-or-create-object
Вычисляет указатель объекта внешнего приложения или создает его, если такого указателя не было (т. е. приложение еще не стартовало).
Приложение объект создает, а функция - на него указатель.

Аминь.

Последний раз редактировалось Supermax, 19.01.2008 в 13:40.
Supermax вне форума  
 
Автор темы   Непрочитано 19.01.2008, 13:54
#38
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


myinfo.dll
------------------------------------------------
MyInfo.MyInfo

Описание:
Вложения
Тип файла: doc myinfo.doc (27.5 Кб, 119 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 19.01.2008, 13:55
#39
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


NEXTLINK.dll
------------------------------------------------
NextLink.NextLink

Описание:
Вложения
Тип файла: doc NEXTLINK.doc (37.0 Кб, 116 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 19.01.2008, 13:57
#40
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


PageCnt.dll
------------------------------------------------
PageCounter.PageCounter

Описание:
Вложения
Тип файла: doc PageCnt.doc (30.0 Кб, 108 просмотров)
Supermax вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Объекты СОМ в AutoCAD

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск программы из AutoCADа kminas Программирование 19 15.06.2012 13:42
AutoCAD 2005 не открывает бесплатные 3Д объекты LenkA AutoCAD 3 11.02.2009 01:52
Уже работаю в AutoCAD 2006, но нужна книжка чтобы знать все тонкости работы с 2D графикой. Unt0nich Поиск литературы, чертежей, моделей и прочих материалов 17 06.05.2008 17:58
AUTOCAD 2006 Aragorn AutoCAD 14 01.04.2005 00:55
Что нового в AutoCAD 2005 ilka_t AutoCAD 40 19.05.2004 16:48