Эмуляция нажатия клавиш из под AutoLisp-a
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Эмуляция нажатия клавиш из под AutoLisp-a

Эмуляция нажатия клавиш из под AutoLisp-a

Ответ
Поиск в этой теме
Непрочитано 27.10.2007, 20:38 #1
Эмуляция нажатия клавиш из под AutoLisp-a
Supermax
 
Руководитель фирмы
 
Москва
Регистрация: 28.03.2007
Сообщений: 1,831

Хочу автоматизировать заполнение lookup параметров динамических блоков в AutoCAD-e из под AutoLisp-a.
Макрос запустить можно только в редакторе блоков. Как только заходишь в lookup, все, баста карапузики.
У меня есть колонка в экселе, которую мне надо перенести в lookup. Я хочу запустив марос в редакторе, сделать следующее: В макросе есть реактор на двойное нажатие левой кнопки мыши (это когда я в lookup вошел и второй раз, когда установил курсор в нужной ячейке). После второго срабатывания реактора запускается процесс копирования значения ячейки в таблице экселя и вставки этого значения в текущую позицию курсора.

мне нужно нажать Сtrl+V, потом стрелку вниз, после этого я скопирую в буфер следующую ячейку и опять надо Ctrl+V и стрелку вниз. Лисп это делать не умеет, но у него есть возможность читать и записывать системные переменные Windows. Вот если бы кто-нибудь на delphi сварганил такую штуку, которая будучи запущена с определенным именем читала системную переменную и нажимала ту кнопку (или коомбинацию) которая в ней записана, а при запуске этой же проги, но с другим именем - опять читала эту переменную и отжимала кнопку, или коомбинацию, которые там указаны. Или что-то в этом роде. Все эмуляторы нажатия клавиш пересмотрел, а нужного и нет совсем.
Для всех AutoLisp-чиков это был бы большой подарок.

Добалю: Из под AutoLisp-a можно запускать любые приложения.
Просмотров: 22996
 
Непрочитано 28.10.2007, 07:38
#2
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


На концептуальном уровне это напоминает лечение зубов через задний проход. Вроде бы и можно, но сверло почему-то в аппендикс заезжает. Динамические блоки - замечательная штука, но для ручной работы, когда пользователь не может или не хочет заниматься программированием.

Управление визуальными элементами Windows из LISP - то же самое, даже с учетом возможности запуска любых приложений. Нет в Windows "системных переменных" с кобинациями нажатых клавиш.

Windows основана на интерфейсе, управляемом событиями. В ней может быть открыто много приложений, в каждом может быть множество окон, в каждом окне разные "control" (это тоже окна). При любом действии в системе (мышкой шевельнули, клавишу нажали) генерируются "события" - сообщения, передаваемые в систему. Разумеется, не текстовые сообщения, а "потоки" байтиков. И все элементы начинают разбираться, кому сообщение направлено и кто за него "отвечает" (должен реагировать).

В высокооуровневых программах отслеживаются действия в собственных элементах управления, но тоже на высоком уровне. Например, для комбобокса, может быть событие "OnChange" - при изменении содержимого любым способом (хоть выбором из списка, хоть ручным вводом). На это событие программа может отреагировать. Можно, например, для наглядности, вставить диалоговое сообщение, которое и будет выскакивать постоянно.

Организовывать слежение за нажатием-отжатием кнопки и прочими мелочами нет никакого смысла. Да еще куда-то передавать через мифические переменные.

Лучше уж чинить зубы через рот. Впрочем, если желание не пропадает, можете начать изучение WinApi и написание собственного языка программирования динамических блоков.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 29.10.2007, 12:16 Про лечение зубов через зад
#3
Supermax

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


Да ты просто не догнал, о чем я тут толкую.
Не отслеживать надо нажатия, а эмулировать. Есть много друг ShaggyDoc такого, что нельзя сделать в рамках одного языка программирования. Да и программировать можно по разному. Можно вскрывать сущность элементов и пытаться ковыряться в их кишках, можно эмитировать действия пользователя используя префикс перед командами, а можно вообще симитировать работу рук, только для этого надо кое-что сделать. К сожалению в AutoCAD-e не все объекты доступны для редактирования через Active X. Создание многих вещей вообще невозможно программно. Пока, надеюсь.
Если ты (ничего, что на ты?) можешь создать Lookup программно, с 160-тью строками текста - молоток. Только эти 160 строк тебе прийдется набивать ручками все равно. А пользователю надо облегчить труд по заполнению этих Lookup-ов, тем более, что этот пользователь я. Я имею уже текст, который мне надо занести в lookup (ах да, забыл. Lookup - это такая фенька в динамических блоках, которая представляет из себя список значений и настраивает параметры блока соответствующим образом. В результате, в свойствах блока появляется выпадающее меню, где выбрав нужное значение - перестраиваешь все остальные свойства блока), так вот текст этот в экселе, или в ворде, и он о-о-чень большой, и всегда разный, в прогу не вставишь.
Ладно, надо нажать стрелку вниз. Как? В Лиспе можно смотреть на состояние значения переменной windows, ясен пень специально созданной для этого. Из лиспа и создавать переменные можно. Можно любые программы запускать и файлы открывать. К стати вместо переменной windows можно использовать временный текстовый файл, или еще что-нибудь.
Вот тут: http://z-oleg.com/delphi/hardwkle.htm
есть как это сделать на delphi. Можно и на C++ или еще чем-нибудь.
Supermax вне форума  
 
Непрочитано 29.10.2007, 13:03
#4
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Если есть список строк значений, то что мешает в любом текстовом редакторе преобразовать его в строку разделённую запятыми (^p -> ,) и закинуть их разом через буфер? Или я неправильно понял суть?
Alaspher вне форума  
 
Непрочитано 29.10.2007, 13:07
#5
Кулик Алексей aka kpblc
Moderator

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


Там сначала надо окно вызывать, и позиционироваться определенным образом. Получить-то значения lookup-параметров дин.блоков в принципе возможно, но вот с их модификацией что-то у меня не срослось Тупой, наверно.
Кстати, если интересно (ох и огребу сейчас ), мой вариант "получить все" болтается здесь
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.10.2007, 13:21
#6
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


А, понял, на наборы свойств уже... Там сорри - как-то уж очень всё кудряво сделано - слишком долго ковыряться придётся.
Alaspher вне форума  
 
Непрочитано 29.10.2007, 13:36
#7
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


КАПЕЦ!!! Это чтож за блок такой со 160-ю строками!!!! С таким блоком интересно очень удобно работать?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 29.10.2007, 17:04 Про капец.
#8
Supermax

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


Да там лифтик появляется на определенном моменте. Так что и 1000 можно. Да, скопировать состояние строк можно, Kpblc прав. Вот создать новый Lookup и туда их вставить - дело пока для чистого Lisp-a не подъемное. Требуется помощь со стороны.
Для Shoorup:
Скачай мой 3D динамический блок с теплообменником в библиотеке элементов лежит. Там lookup 160 строк.

Дык, есть кто в delphi шарит, или нет пока?
Supermax вне форума  
 
Автор темы   Непрочитано 30.10.2007, 09:31 Про эмуляцию клавиш
#9
Supermax

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


Так, тема должна жить! Так доктор сказал. Ну и что, что холодная? Сделаем искусственное дыхание рот в рот и прямой массаж сердца. Кто делать будет? Дык, а практиканты зачем? Вот пусть и практикуются. На живых темах и дурак - профессором выглядит. Что зараза, какая зараза - ее давно нафармалинили насквозь. Вон, мухи ползают и не дохнут. А эти практиканты - мухи и те поэнергичнее будут.
Supermax вне форума  
 
Автор темы   Непрочитано 30.10.2007, 13:22 Про внутренности дин блоков
#10
Supermax

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


Есть такие объекты, наукой совсем не изученные как:
AcDbBlockLookupActionEntity
AcDbBlockLookupParameterEntity
AcDbBlockStretchActionEntity
AcDbBlockLinearParameterEntity
AcDbBlockRotateActionEntity
AcDbBlockRotationParameterEntity
AcDbBlockVisibilityParameterEntity

Ну и еще с десяток из инструментов свойств блока.

Можно ли создать функцией vla-add эти объекты сказать трудно, поскольку не понятно какие к ним надо указывать дополнительные параметры
Также пытался применить к ним метод vla-copy - глухо. В списке от думпа есть такой метод, а на деле он к эти объектам не применим. Выдает
Command: (setq lookup1 (vla-copy (vlax-ename->vla-object (car (entsel)))))
Select object: ; error: Automation Error. Description was not provided.

Посему не будем тянуть резину, вручную открываем lookup (хотя открывать его можно программно, но через command) и вручную ставим курсор на нужную ячейку, щелкая при этом двойным кликом.
Supermax вне форума  
 
Автор темы   Непрочитано 31.10.2007, 12:28 Про эмуляцию нажатия клавиш
#11
Supermax

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


Каждый день буду заходить и смотреть, не появился ли на горизонте богатырь, что поможет выполнить эту задачу?
C++, Delphi, Ау! Где вы?
Supermax вне форума  
 
Автор темы   Непрочитано 01.11.2007, 12:08
#12
Supermax

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


С Kpblc-ом расковыряли динамические свойства почти "до винтика" Нашли все записи, но создать такие по некоторым причинам нельзя.
Начина я от сюда и далее
http://forum.abok.ru/index.php?showtopic=14612&st=540

Все "умники", которые считают, что стоит только захотеть и работать с динамическими блоками можно будет без извращений, типа того, что здесь предлагается, могут сами попробовать "вкус этих устриц", а потом уж высказывать свой скептицизм.
Supermax вне форума  
 
Непрочитано 01.11.2007, 15:28
#13
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
С Kpblc-ом расковыряли динамические свойства почти "до винтика"
А чего там ковырять?
Как пример, структура файла, относящаяся к дин блоку, может быть отображена в списке - очень удобно просматривать после форматирования в лисп редакторе...
Код:
[Выделить все]
(defun en-l (l)
 ;;(setq l5 nil lst (en-l (entget (car (entsel "\n Укажите динамический блок...")))))
 (if l
  (vl-remove-if
   (function null)
   (mapcar (function (lambda (x / a)
                      (cond ((= (car x) -1) nil)
                            ((or (= (car x) 0) (= (car x) 2) (= (car x) 3)) (cdr x))
                            ((and (= (type (setq a (cdr x))) 'ENAME)
                                  (setq a (entget a))
                                  (not (member (cdr (assoc 5 a)) l5))
                             ) ;_  and
                             (setq l5 (cons (cdr (assoc 5 a)) l5))
                             (en-l a)
                            )
                            (t nil)
                      ) ;_  cond
                     ) ;_  lambda
           ) ;_  function
           l
   ) ;_  mapcar
  ) ;_  vl-remove-if
 ) ;_  if
)
вызываем
Код:
[Выделить все]
(setq l5 nil lst (en-l (entget (car (entsel "\n Укажите динамический блок...")))))
Получаем список, типа такого:
Код:
[Выделить все]
("INSERT"
 ("DICTIONARY"
  ("INSERT"
   ("BLOCK_RECORD"
    ("TABLE" "BLOCK_RECORD")
    "*Model_Space"
    ("BLOCK" "*Model_Space")
    ("LAYOUT"
     ("DICTIONARY"
      ("DICTIONARY"
       "ACAD_COLOR"
       ("DICTIONARY")
       "ACAD_GROUP"
       ("DICTIONARY")
       "ACAD_LAYOUT"
       "ACAD_MATERIAL"
       ("DICTIONARY" "ByBlock"
                     ("MATERIAL" "" "")
                     "ByLayer"
                     ("MATERIAL" "" "")
                     "Global"
                     ("MATERIAL" ("DICTIONARY" "BUMPTILE"
                                               ("XRECORD")
                                               "DIFFUSETILE"
                                               ("XRECORD")
                                               "OPACITYTILE"
                                               ("XRECORD")
                                               "REFLECTIONTILE"
                                               ("XRECORD")
                                 )
                                 ""
                                 ""
                     )
       )
       "ACAD_MLEADERSTYLE"
       ("DICTIONARY" "Standard"
                     ("MLEADERSTYLE" ("LTYPE" ("TABLE" "LTYPE") "ByBlock" "")
                                     "Standard"
                                     ("STYLE" ("TABLE" "STYLE") "Standard" "txt")
                     )
       )
       "ACAD_MLINESTYLE"
       ("DICTIONARY" "Standard" ("MLINESTYLE" "STANDARD" ""))
       "ACAD_PLOTSETTINGS"
       ("DICTIONARY")
       "ACAD_PLOTSTYLENAME"
       ("ACDBDICTIONARYWDFLT" "Normal" ("ACDBPLACEHOLDER"))
       "ACAD_SCALELIST"
       ("DICTIONARY" "A0"
                     ("SCALE")
                     "A1"
                     ("SCALE")
                     "A2"
                     ("SCALE")
                     "A3"
                     ("SCALE")
                     "A4"
                     ("SCALE")
                     "A5"
                     ("SCALE")
                     "A6"
                     ("SCALE")
                     "A7"
                     ("SCALE")
                     "A8"
                     ("SCALE")
                     "A9"
                     ("SCALE")
                     "B0"
                     ("SCALE")
                     "B1"
                     ("SCALE")
                     "B2"
                     ("SCALE")
                     "B3"
                     ("SCALE")
                     "B4"
                     ("SCALE")
                     "B5"
                     ("SCALE")
                     "B6"
                     ("SCALE")
                     "B7"
                     ("SCALE")
                     "B8"
                     ("SCALE")
                     "B9"
                     ("SCALE")
                     "C0"
                     ("SCALE")
                     "C1"
                     ("SCALE")
                     "C2"
                     ("SCALE")
                     "C3"
                     ("SCALE")
                     "C4"
                     ("SCALE")
                     "C5"
                     ("SCALE")
                     "C6"
                     ("SCALE")
                     "C7"
                     ("SCALE")
                     "C8"
                     ("SCALE")
                     "C9"
                     ("SCALE")
                     "D0"
                     ("SCALE")
                     "D1"
                     ("SCALE")
                     "D2"
                     ("SCALE")
       )
       "ACAD_TABLESTYLE"
       ("DICTIONARY" "Standard" ("TABLESTYLE" ("DICTIONARY") "Standard"))
       "ACAD_VISUALSTYLE"
       ("DICTIONARY" "2dWireframe"
                     ("VISUALSTYLE" "2dWireframe")
                     "3D Hidden"
                     ("VISUALSTYLE" "3D Hidden")
                     "3dWireframe"
                     ("VISUALSTYLE" "3dWireframe")
                     "Basic"
                     ("VISUALSTYLE" "Basic")
                     "Brighten"
                     ("VISUALSTYLE" "Brighten")
                     "ColorChange"
                     ("VISUALSTYLE" "ColorChange")
                     "Conceptual"
                     ("VISUALSTYLE" "Conceptual")
                     "Dim"
                     ("VISUALSTYLE" "Dim")
                     "Facepattern"
                     ("VISUALSTYLE" "Facepattern")
                     "Flat"
                     ("VISUALSTYLE" "Flat")
                     "FlatWithEdges"
                     ("VISUALSTYLE" "FlatWithEdges")
                     "Gouraud"
                     ("VISUALSTYLE" "Gouraud")
                     "GouraudWithEdges"
                     ("VISUALSTYLE" "GouraudWithEdges")
                     "Linepattern"
                     ("VISUALSTYLE" "Linepattern")
                     "Realistic"
                     ("VISUALSTYLE" "Realistic")
                     "Thicken"
                     ("VISUALSTYLE" "Thicken")
       )
       "ACDB_RECOMPOSE_DATA"
       ("XRECORD")
       "AcDbVariableDictionary"
       ("DICTIONARY" "CANNOSCALE"
                     ("DICTIONARYVAR")
                     "CMLEADERSTYLE"
                     ("DICTIONARYVAR")
                     "CTABLESTYLE"
                     ("DICTIONARYVAR")
                     "DIMASSOC"
                     ("DICTIONARYVAR")
                     "HIDETEXT"
                     ("DICTIONARYVAR")
       )
      )
      "Layout1"
      ("LAYOUT" "None"
                ("BLOCK_RECORD" "*Paper_Space" ("BLOCK" ("ENDBLK") "*Paper_Space"))
      )
      "Layout2"
      ("LAYOUT" "None"
                ("BLOCK_RECORD" "*Paper_Space0" ("BLOCK" ("ENDBLK") "*Paper_Space0"))
      )
      "Model"
     )
     "none_device"
     ("VPORT" ("TABLE" "VPORT") "*Active")
    )
   )
   "*U3"
  )
  "AcDbBlockRepresentation"
  ("DICTIONARY"
   "AcDbRepData"
   ("ACDB_BLOCKREPRESENTATION_DATA"
    ("BLOCK_RECORD"
     ("DICTIONARY" "ACAD_ENHANCEDBLOCK"
                   ("ACAD_EVALUATION_GRAPH" ("BLOCKLINEARPARAMETER")
                                            ("BLOCKLINEARGRIP")
                                            ("BLOCKGRIPLOCATIONCOMPONENT")
                                            ("BLOCKGRIPLOCATIONCOMPONENT")
                                            ("BLOCKSTRETCHACTION" ("LWPOLYLINE"))
                   )
                   "AcDbDynamicBlockRoundTripPurgePreventer"
                   ("ACDB_DYNAMICBLOCKPURGEPREVENTER_VERSION")
     )
     "bl-1"
     ("BLOCK" "bl-1")
    )
   )
   "AppDataCache"
   ("DICTIONARY" "ACAD_ENHANCEDBLOCKDATA" ("DICTIONARY" "1" ("XRECORD") "5" ("XRECORD")))
  )
 )
 "*U3"
)
Если сразу убрать лишнюю ветку списка - относящуюся к модели, листу и.т.д, то получаем:
Код:
[Выделить все]
("INSERT"
 ("DICTIONARY"
  "AcDbBlockRepresentation"
  ("DICTIONARY"
   "AcDbRepData"
   ("ACDB_BLOCKREPRESENTATION_DATA"
    ("BLOCK_RECORD"
     ("DICTIONARY" "ACAD_ENHANCEDBLOCK"
                   ("ACAD_EVALUATION_GRAPH" ("BLOCKLINEARPARAMETER")
                                            ("BLOCKLINEARGRIP")
                                            ("BLOCKGRIPLOCATIONCOMPONENT")
                                            ("BLOCKGRIPLOCATIONCOMPONENT")
                                            ("BLOCKSTRETCHACTION" ("LWPOLYLINE"))
                   )
                   "AcDbDynamicBlockRoundTripPurgePreventer"
                   ("ACDB_DYNAMICBLOCKPURGEPREVENTER_VERSION")
     )
     "bl-1"
     ("BLOCK" "bl-1")
    )
   )
   "AppDataCache"
   ("DICTIONARY" "ACAD_ENHANCEDBLOCKDATA" ("DICTIONARY" "1" ("XRECORD") "5" ("XRECORD")))
  )
 )
 "*U3"
)
На мой взгляд, очень удобная запись, хорошо видно зависимости словарей и блока...
Елпанов Евгений вне форума  
 
Автор темы   Непрочитано 01.11.2007, 17:50
#14
Supermax

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


Видит око, да зуб не ймет - девиз сидящих на диете.
Через Aktive X решения не имеет (пока). Это "пока" завист только от AutoDesk-a.
Структура ясна, зависимости определены, препятствия обнаружены и отмечены по сабачьи.
Решение по созданию программы, в которую девушка могла-бы набивать данные и формировать динамические блоки - найдено, но не через AktiveX, увы. Копировать можно, но через эмуляцию создания нового элемента.
То, собственно о чем эта тема. Решение пришло на VBA, как ни странно. Больше ничего не скажу, поскольку сам еще не определился с результатом.
Supermax вне форума  
 
Непрочитано 01.11.2007, 17:55
#15
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Видит око, да зуб не ймет - девиз сидящих на диете.
Через Aktive X решения не имеет (пока). Это "пока" завист только от AutoDesk-a.
Структура ясна, зависимости определены, препятствия обнаружены и отмечены по сабачьи.
Решение по созданию программы, в которую девушка могла-бы набивать данные и формировать динамические блоки - найдено, но не через AktiveX, увы. Копировать можно, но через эмуляцию создания нового элемента.
То, собственно о чем эта тема. Решение пришло на VBA, как ни странно. Больше ничего не скажу, поскольку сам еще не определился с результатом.
А у меня получилось все гораздо проще...
Взял готовый блок и добавил туда необходимое количество дополнительных параметров!
Все из лиспа, через dxf - никакого вба.

PS. если есть вопросы - контакты в профиле...
Елпанов Евгений вне форума  
 
Автор темы   Непрочитано 01.11.2007, 18:18
#16
Supermax

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


Через Command можно:
Открыть сам блок,
Создать любое количество окон с их описанием на русском языке,
Создать все абсолютно динамические элементы
И все.
А вот Lookup нашпиговать - только через VBA.
Можно сортировать элементы дин свойств.
Если ты знаешь как изменить запись в словаре и обойти код (1071 . 0) и (1010 далее координаты) в котором нет точки, то ты ГУРУ и мы падем к тебе в ноги и будем жрать грязь с твоих чювяк.
Supermax вне форума  
 
Непрочитано 01.11.2007, 18:28
#17
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Через Command можно:
Открыть сам блок,
Создать любое количество окон с их описанием на русском языке,
Создать все абсолютно динамические элементы
И все.
А вот Lookup нашпиговать - только через VBA.
Можно сортировать элементы дин свойств.
Если ты знаешь как изменить запись в словаре и обойти код (1071 . 0) и (1010 далее координаты) в котором нет точки, то ты ГУРУ и мы падем к тебе в ноги и будем жрать грязь с твоих чювяк.
Знаю...
Мне сегодня стало интересно, чем вы так заняты с Алексеем, решил тоже ковырнуть в минуты отдыха.
меняю я через entmod
тысячные коды - расширенные данные, с ними так и работают, как с расширенными данными, как пример, если не нужны чужие данные - удаляй их, либо запоминай и после редактирования добавляй...
Короче, специально проверил и добавил списки для линейного размера и списки для поиска (Lookup) в дин блок...
Единственно, я немного упростил себе задачу, эти свойства уже были в блоке, я только их менял или добавлял данные...
Елпанов Евгений вне форума  
 
Непрочитано 01.11.2007, 18:33
#18
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Если ты знаешь как изменить запись в словаре и обойти код (1071 . 0) и (1010 далее координаты) в котором нет точки, то ты ГУРУ и мы падем к тебе в ноги и будем жрать грязь с твоих чювяк.
Жрать грязь не стоит, лучше помогите найти работу...
Елпанов Евгений вне форума  
 
Автор темы   Непрочитано 01.11.2007, 18:38
#19
Supermax

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


Мужик, я уже слюнявчик надел, готовь чювяки, только сперва давай на чистоту. Грязь хавать авансом я не хочу.
Код:
[Выделить все]
(
(-1 . <Entity name: 7ebf58e8>) 
(0 . "BLOCKLOOKUPACTION") 
(330 . <Entity name: 7ebf5850>) 
(5 . "3DD") 
(100 . "AcDbEvalExpr") 
(90 . 19) 
(98 . 25) 
(99 . 76) 
(100 . "AcDbBlockElement") 
(300 . "Второй") 
(98 . 25) 
(99 . 76) 
(1071 . 0) 
(100 . "AcDbBlockAction") 
(70 . 0) 
(71 . 0) 
(1010 566.948 -247.188 0.0) 
(100 . "AcDbBlockLookupAction") 
(92 . 6) 
(93 . 4) 
(301 . "") 
(302 . "100.0000000000000") 
(302 . "0.3490658503988659") 
(302 . "VisibilityState0") 
(302 . "Первая надпись") 
(302 . "200.0000000000000") 
(302 . "0.6981317007977318") 
(302 . "VisibilityState0") 
(302 . "Вторая надпись") 
(302 . "") 
(302 . "") 
(302 . "") 
(302 . "Третья надпись") 
(302 . "") 
(302 . "") 
(302 . "") 
(302 . "Четвертая надпись") 
(302 . "") 
(302 . "") 
(302 . "") 
(302 . "Пятая надпись") 
(302 . "") 
(302 . "") 
(302 . "") 
(302 . "И нигде не ставлю значений соответствия") 
(303 . "") 
(94 . 5) 
(95 . 40) 
(96 . 2) 
(282 . 0) 
(305 . "Custom") 
(281 . 0) 
(304 . "UpdatedDistance") 
(303 . "") 
(94 . 10) 
(95 . 40) 
(96 . 1) 
(282 . 0) 
(305 . "Custom") 
(281 . 0) 
(304 . "UpdatedAngle") 
(303 . "") 
(94 . 1) 
(95 . 1) 
(96 . 0) 
(282 . 0) 
(305 . "Custom") 
(281 . 0) 
(304 . "VisibilityState") 
(303 . "") 
(94 . 15) 
(95 . 1) 
(96 . 0) 
(282 . 1) 
(305 . "Custom") 
(281 . 0) 
(304 . "lookupString") 
(280 . 1)
)
Вот содержимое "BLOCKLOOKUPACTION". Я беру эту гадость и разбиваю на две части, добавляю нужные строки с 302-ым кодом, склеиваю и пытаюсь Entmod, не хочет. Пытаюсь оригинал - тоже не хочет, Стер эти два кода - опять enmod -не хочет. Как ты смог этот набор отредактировать?
Supermax вне форума  
 
Непрочитано 01.11.2007, 18:43
#20
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


я же сказал, в любом случае, удаляй эти данные...
Например так:
(vl-remove-if (function (lambda (x) (> (car x) 1000)))...

и еще, много раз проверял - данные в точности восстанавливаются автоматом, технологию не знаю.
Елпанов Евгений вне форума  
 
Непрочитано 01.11.2007, 18:52
#21
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Возможно, ты не обновляешь счетчик пар записей в 302 коде?
Счетчик лежит в коде 92 - это для поиска.
Для линейного размера, счетчик лежит в 175 группе, а сами размеры в 144...
Елпанов Евгений вне форума  
 
Непрочитано 01.11.2007, 19:16
#22
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Еще одно добавление - в имеющийся динамический блок, возможно добавить дополнительные параметры - автокад не ругается и начинает их обрабатывать..
Елпанов Евгений вне форума  
 
Непрочитано 02.11.2007, 16:34
#23
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Supermax, посмотрел твой блок...
Я почувствовал себя ребенком...КАК ЭТО РАБОТАЕТ???!!!
неужели все ручками набирал? всю табличку (параметр выбора)
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Shoorup, 02.11.2007 в 16:48.
Shoorup вне форума  
 
Автор темы   Непрочитано 02.11.2007, 16:57
#24
Supermax

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


Толи еще бу-у-дет, толи еще бу-у-дет, толи еще будет ой-ей-ей!
Supermax вне форума  
 
Автор темы   Непрочитано 02.11.2007, 16:58
#25
Supermax

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


А собственно, что ты смотрел?
Supermax вне форума  
 
Непрочитано 02.11.2007, 17:03
#26
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


GL-13M. блок конечно впечатляет... так и не понял нашли ли способ как менять параметры д.блока програмно
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 02.11.2007, 17:06
#27
Supermax

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


Да нашли, только вместе с тем, что нашли, нашли еще столько, что теперь Kpblc ушел на лечение, а я сошел с ума
Supermax вне форума  
 
Автор темы   Непрочитано 02.11.2007, 17:08
#28
Supermax

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


А ты блок ФБС смотрел?
Supermax вне форума  
 
Непрочитано 02.11.2007, 17:10
#29
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


я вот оже тему почитал... потом представил блок со 160 параметрами, потом увидел его, потом дочитал до конца тему и понял что я ничего не понимаю...
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 02.11.2007, 17:11
#30
Supermax

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


Вот полюбуйся
Вложения
Тип файла: dwg
DWG 2004
Drawing4.dwg (26.3 Кб, 994 просмотров)
Supermax вне форума  
 
Непрочитано 02.11.2007, 17:20
#31
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Вот полюбуйся


Я чото недотюкал.... я только что увидел 3 параметра видимости или у меня уже к концу рабочего дня глюки....??????
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 02.11.2007, 17:22
#32
Supermax

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


А хочешь еще прикол.
Зайди в блок, вставь еще параметр видимости, тройку окон пропиши, выйди, сохранив, посмотри в свойства, зайди опять в блок и ... вставь еще один параметр.
Supermax вне форума  
 
Непрочитано 02.11.2007, 17:27
#33
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
А хочешь еще прикол.
Зайди в блок, вставь еще параметр видимости, тройку окон пропиши, выйди, сохранив, посмотри в свойства, зайди опять в блок и ... вставь еще один параметр.
в редактор блоков не заходит. и что за тройка окон?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 02.11.2007, 17:28
#34
Supermax

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


Забыл предупредить, Stretch не трогай! Слетишь.
Supermax вне форума  
 
Автор темы   Непрочитано 02.11.2007, 17:29
#35
Supermax

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


Заходи нажатием правой кнопки мыши и Block editor
Supermax вне форума  
 
Непрочитано 02.11.2007, 17:38
#36
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


ничего не догоняю.... я просто в шоке нет ты наверно точно хотишь чтоб у меня под конец рабочего дня крыша съехала....
А теперь поясни как ты это с делал???
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 02.11.2007, 17:39
#37
Supermax

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


Ты наверное думаешь, что они не работают? Ошибаешся! Еще как работают. И графика в них разная может лежать и многое другое. Сейчас покажу.
Supermax вне форума  
 
Непрочитано 02.11.2007, 17:44
#38
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Просто фантастика!!!!!
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 02.11.2007, 17:54
#39
Supermax

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


Когда вторую тройку делал, забыл выключить видимость элементов первой группы видимости.
Вложения
Тип файла: dwg
DWG 2004
Drawing4.dwg (50.6 Кб, 997 просмотров)
Supermax вне форума  
 
Непрочитано 02.11.2007, 18:00
#40
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Supermax, это просто супер!!! я в легком помешательстве!!! Расскажи как ты это делаешь???? я не просто хочу я просто мечтал и мечтаю делать такие д.блоки!!! сегодня точно напьюсь....
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 02.11.2007, 18:06
#41
Supermax

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


Все начилось с того, что я по пьяне вместо одной DXF пары вставил другую. Машина естественно не поняла, но как могла выкрутилась. Я нашел, где сделал хомут, но с покореженным блоком "поигрался чуток", в результате чего появился блок с линией и тремя параметрами видимости. Вот я тебе его и дал. Между этими группами можно переключаться и они будут доступны для редактирования в редакторе. Можно сделать такой покореженный блок как заготовку и в последствии его "надстраивать".
Supermax вне форума  
 
Непрочитано 02.11.2007, 18:18
#42
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Все гениальные вещи рождались случайно (например кока-кола просто супер!
надо дома поэксперементировать и понять как это все работает. чувствую будут свои проблемки... но это такназываемо окупиться потому как теперь с помощью таких блоков можно вытворять гениальные весчи (сказал shoorup почесывая руки)
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 02.11.2007, 18:22
#43
Supermax

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


Самая крутая весч, это то, что такие блоки простым юзерам для редактирования не доступны, пока какой-нибудь сумасшедший программер не написал программку для этих выкрутасов. Можно клепать блоки как товар и радоваться жизни.
Ты хоть в лиспе шаришь?
Supermax вне форума  
 
Непрочитано 02.11.2007, 18:50
#44
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Самая крутая весч, это то, что такие блоки простым юзерам для редактирования не доступны, пока какой-нибудь сумасшедший программер не написал программку для этих выкрутасов. Можно клепать блоки как товар и радоваться жизни.
Ты хоть в лиспе шаришь?
Я бы не был так категоричен...
вы просто, добавили в словарь "ACAD_EVALUATION_GRAPH" дополнительные параметры, причем, как ни странно, случайно. На самом деле, эта часть автокада, работает с ошибками - не очищаются словари, удаление неиспользуемых больше объектов не делается автоматически, большая часть хвостов, от экспериментов с динамическими блоками, остается в файле...
Видимо, скоро появится потребность писать программу, для очистки динамических блоков от ненужной информации.
Елпанов Евгений вне форума  
 
Автор темы   Непрочитано 02.11.2007, 19:17
#45
Supermax

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


Да е-кы-лы-мы-ны! Давай тна ТЫ! А то у меня фрака нет.
Ничего я не добавлял. Теперь все добавляется само. Да поламал чуток, но знаю где. Очищать конечно надо, но гораздо интереснее все разобрать до конца и использовать полученные сведения с пользой. В этих поломках кроется большая польза, только ломать надо с умом, зная последствия.
Я про защиту не зря говорю. Если блок переполняется графикой и прочим мусором, в результате его редактирования - с одной стороны плохо, а с другой - не лезь, не для редактирования сделан. Первую линию с динамическим параметром я знаю как получил. А теперь уже нельзя сделать ни одного динамического свойства. Только через гастроном (это для клиентов разумеется).
Stretch к примеру если коснуться - выбъет кад, а если выделить любой графический элемент, а потом уж попытаться его потрогать - дает передвинуть и прочее.
Хотел Grundfos защитить данные - пожалуйста. Графика есть, а динамика новая не вставляется, а старая не редактируется (на уровне пользователя естественно).
Supermax вне форума  
 
Непрочитано 02.11.2007, 19:25
#46
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Supermax
У меня твой блок нифига не работает. При открытии файла, кад матюкается, а открыв с этим блоком ничего не делает (он не работает как динамический). В редактор блоков не заходит, а при попытке вставить (insert) вылетает с ошибкой.
ACAD2007eng
Krieger вне форума  
 
Автор темы   Непрочитано 02.11.2007, 19:35
#47
Supermax

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


Так файл откылся или нет? То он не открывается, то открывается.
Перезагрузись. У всех все открывается (правда ты не сказал чем ты файл открываешь).
Как и было сказано, открывать надо только через правую кнопку мыши и пункт block editor.
Supermax вне форума  
 
Автор темы   Непрочитано 02.11.2007, 19:41
#48
Supermax

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


Аудит кстати показывает, что ошибок 0.
А динамические штуки в свойствах и ручках от Visibility.
Правда только тех, что слева. А правые - старые, убить надо однако.
Supermax вне форума  
 
Непрочитано 02.11.2007, 20:05
#49
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Он открывается, но вот с таким сообщением, см.картинку. Нажимаю "нет" - открывается, при выделении видны параметры, но манипулирование ими ни к чему не приводит. Выделяю блок жму правой кнопкой, выбираю редактор блоков и блок просто исчезает без входа в редактор.

О! После открытия сделал Audit исправил одну ошибку, и, о чудо, он заработал!
Миниатюры
Нажмите на изображение для увеличения
Название: Обрезать_8.jpg
Просмотров: 148
Размер:	23.0 Кб
ID:	530  
Krieger вне форума  
 
Автор темы   Непрочитано 02.11.2007, 20:15
#50
Supermax

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


Как это можно использовать?
Ну к примеру самое верхнее - это глобальная картина. когда ее изменяешь все подробности исчезают. Имеет несколько вариантов. Второе с верху - уточнения №1 к глобальной картине Когда их меняешь - должны исчезать все нижележащие уточнения.
И третье сверху - самые последние уточнения общей картины модели. Их в самую последнюю очередь делают. Линия - это динамические свойства вставленные в самом начале создания блока и доступ к их изменению закрыт.
Supermax вне форума  
 
Автор темы   Непрочитано 02.11.2007, 20:18
#51
Supermax

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


Еще одна полезная вещь. Если сделать Explode - исчезает графика 2-го и всех вышележащих уровней Visibility.
Supermax вне форума  
 
Автор темы   Непрочитано 02.11.2007, 20:40
#52
Supermax

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


Хочу отдать должное Kpblc-у и Елпанову Евгению.
Это их заслуга. Kpblc, своим упрямством в поисках "корня" заставил меня бросить работу и ковырять структуру дин. блоков. А Евгений, вернул меня обратно к эти эксперементам, когда я уже плюнул и собрался заняться другим вариантом редактирования дин. блоков.
МОЛОДЦЫ!

Только вот теперь надо бы до конца все разрыть, но боюсь дружное рытье ямы, где должен быть зарыт клад, при появлении первых признаков оного, может привести к братоубийственной ситуации, когда каждый сам за себя.
Supermax вне форума  
 
Непрочитано 03.11.2007, 08:09
#53
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Ты хоть в лиспе шаришь?
Неаеще только учусь...
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 03.11.2007, 08:47
#54
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от Krieger Посмотреть сообщение
Он открывается, но вот с таким сообщением, см.картинку. Нажимаю "нет" - открывается, при выделении видны параметры, но манипулирование ими ни к чему не приводит. Выделяю блок жму правой кнопкой, выбираю редактор блоков и блок просто исчезает без входа в редактор.

О! После открытия сделал Audit исправил одну ошибку, и, о чудо, он заработал!
На работе как ни странно все работало... Дома на 2008 выдало тоже самое, так же исправил.

Блок конечно фантастический... Есть свои недостатки конечно... но я думаю эту тему надо развивать до победного конца.
Все изменения в блоке нужно вносить сверху вниз. т.е. с последнего параметра видимости. иначе приходиться обновлять параметры. Редактировать (убирать\изменять параметры видимости) такой блок в редакторе блоков (через правый тык) потом уже низя, а иногда хочеться и придеться переделывать заново.
И ваще пошел уже оффтопик и предлагаю эту тему развивать в другом месте
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 03.11.2007, 09:27
#55
Кулик Алексей aka kpblc
Moderator

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


Не, не оффтопик - достаточно переименовать тему и чуток подправить первый пост
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 03.11.2007, 09:42
#56
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Так я не понял, с созданием кучи записей в таблице параметра lookup разобрались? Может кто функцию замутит?
Krieger вне форума  
 
Автор темы   Непрочитано 03.11.2007, 11:07
#57
Supermax

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


Да мы - разведчики. Поползли, все разузнали, вынюхали, главнокомандующему доложили и на боковую. А воевать мы не умеем. Ни одной функции до конца довести так и не довелось. Как только секрет раскрыт интерес к нему пропадает. Удел всех любознательных. Ну пару пленных (я в смысле пару простых лиспов, без окон) мы еще приволочь можем, а так чтобы массово, с криками "банзай" - не.
Вот за деньги - наверное сможем, но со срывом графика производства работ и с очень кислой рожей.
Supermax вне форума  
 
Автор темы   Непрочитано 03.11.2007, 11:10
#58
Supermax

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


А про эмуляцию нажатия клавишь - так я уже все организовал после праздников выложу, на чем тема и будет исчерпана.
Supermax вне форума  
 
Непрочитано 03.11.2007, 11:17
#59
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Да мы - разведчики. Поползли, все разузнали, вынюхали, главнокомандующему доложили и на боковую. А воевать мы не умеем. Ни одной функции до конца довести так и не довелось. Как только секрет раскрыт интерес к нему пропадает. Удел всех любознательных. Ну пару пленных (я в смысле пару простых лиспов, без окон) мы еще приволочь можем, а так чтобы массово, с криками "банзай" - не.
Вот за деньги - наверное сможем, но со срывом графика производства работ и с очень кислой рожей.
Да, за деньги это можно сделать. Вся проблема не в сложности задачи, а в огромном объеме данных, которые нужно структурировать, документировать, анализировать...
По сути дела, необходимо задокументировать 20 - 30 объектов автокада, которых нет ни в каких описаниях модели использования. Все только методом тыка. Даже исследуя ежедневно по два объекта, это месяц работы. Я не могу позволить себе, потратить столько времени на исследования, которые сегодня и сейчас, моему работодателю или мне лично, не требуются...
Елпанов Евгений вне форума  
 
Автор темы   Непрочитано 03.11.2007, 11:39
#60
Supermax

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


Значит вся проблема, это как сброситься и заставить того, кто может месяц заниматься этой работой.
Я думаю, тендер надо провести 3000$ гринов - это не мало. Но вот беда, за месяц не получится. Только оформление "записок сумасшедшего" в удобочитаемый вид займет не меньше недели. С AutoDesk-ом могут начаться трения. Надо у него с начала испросить разрешения.
Надо составить список задач и его сюда выложить. Оценить время на их реализацию и я думаю 300р. за человеко-час - достойная плата за весьма высокоинтеллектуальный труд. Спонсоров - хоть ешь одним местом. Одни захотят рекламу, другие право на публикацию, третьи потребуют помощь в решении своих проблем.
Сайт этот уже весьма известный и читают его многие, в том числе и граждане иностранного подданства.
Так что могу предложить свои скромные услуги по организации финансирования этой безусловно нужной акции.

Последний раз редактировалось Supermax, 03.11.2007 в 11:47.
Supermax вне форума  
 
Непрочитано 03.11.2007, 11:44
#61
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Я бы посоветовал подождать, через полмесяца - месяц, будут мнения о первых бетах акада 2009... Какой смысл делать программу, если в следующей версии, это все может быть по умолчанию?
Елпанов Евгений вне форума  
 
Автор темы   Непрочитано 03.11.2007, 11:59
#62
Supermax

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


Так речь ведь не о программе, а об архитектуре динамических блоков. Программы нафиг никому не нужны. Те кому они нужны - бедны как церковные мыши, а те, кто крутит деньгами - чихать хотели на то, каким образом проектировщики достигает конечного результата. Вот использование динамических блоков, как инструмента для увеличения сбыта своей продукции - может сподвигнуть толстосумов к активным действиям и надо на этом делать акцент. А создание программ, будет появляться как необходимость толстосума в переработке своей информационной базы с наименьшими потерями денежных средств.
Supermax вне форума  
 
Непрочитано 03.11.2007, 12:10
#63
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Программы нафиг никому не нужны. Те кому они нужны - бедны как церковные мыши, а те, кто крутит деньгами - чихать хотели на то, каким образом проектировщики достигает конечного результата.
А винда, а автокад, а винамп, в конце концов...
у меня этот список очень длинный, у каждого он свой, но программы все же нужны IMHO.
Елпанов Евгений вне форума  
 
Автор темы   Непрочитано 03.11.2007, 12:24
#64
Supermax

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


Так я сказал кому они нужны. Появление нового продукта приветствуется теми, кто испытывает определенные мучения при работе, а при появлении возможности эти мучения немного уменьшить - вызывает положительные эиоции. Но с новым продуктом, пока он не начнет конвертировать свои полезные качества в доход предпринимателя - только затратная статья и поэтому директора не очень охотно идут на обновление версий. В некоторых фирмах еще работают за кульманом, настолько пока еще не освоен арсенал средств программ.
Нет, есть конечно и прогрессивно мыслящие руководители, но прагматиков всеже больше.
Вот кому нужна программа, которая автоматически создает динамический блок с необходимым набором свойств? Ну мне нужна, так я ведь ее и сам могу написать. Да и написав, она мне денег не принесет. Ну некоторым фанатам типа Shoorup-a надо, так он ведь не Ротшильд и папа у него не Ракфеллер.
А вот динамические блоки в сети, со свойствами изделия надо. И программы, и технологии, которые ими манипулируют - тоже надо. Поскольку это прямые действия по захвату рынка сбыта. Вот на этом и надо играть!
Supermax вне форума  
 
Автор темы   Непрочитано 03.11.2007, 13:22
#65
Supermax

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


Функцию написать конечно можно и за так, только если тут человек 100 будут орать благим матом и слезно умолять, а после написания - тем же стройным хором петь оду в честь благодетеля. Почет и уважение дело приятное, что и говорить. А за все приятное надо платить, скажем трудом. Только вот у меня уже от этого почета чего-то подташнивает. Наверное начинается похвальный диатез.
Supermax вне форума  
 
Автор темы   Непрочитано 03.11.2007, 13:50
#66
Supermax

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


Последнее открытие - в состав свойств одного блока могут входить свойства изменяющие параметры другого блока.
Supermax вне форума  
 
Непрочитано 03.11.2007, 15:54
#67
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Supermax, мдяяя.... а я уж тут обнадеялся что вскоре увижу динамические блоки с расширенными возможностями... честное пионерское сам бы с удовольствием поковырялся бы в их кишках и потыкался в них... но беда в том что не программист я! и не имею достаточного опыта...
Но ощущение вчера было просто супер наверно тоже самое ощущает конструктор самолетов когда ему приносят прототип нового метала и он почесывая руки представляет новые самолеты...
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Автор темы   Непрочитано 03.11.2007, 16:30
#68
Supermax

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


Да, ощущения, конечно, дело великое. Только если сахару много сожрать, можно и копыта откинуть.
Ты публику накручивай. Это тоже весьма полезная вещь. Вот Kpblc куда-то пропал. На мои сообщения в личке не отвечает. Найти надо, однако.
Я коды все проанализировал и перетряхнул. Спешили ребята в AutoDesk-e очень все прозрачно сделали.
Надо команду сколачивать и раскручивать ей имидж. С администрацией форума конструктивный диалог на эту тему начать и дальше вести. А то тут толпа одиночек-самсебережисеров, а рутины много, все делать самому не охота.
Статью написать - поддерживаю. Но читай выше про трения с AutoDesk-ом. Один весьма одаренный программист уже отказался проводить раскопки. Так что надо по крошкам распылить задачу и сделать ее коллективно.
Считай, что "нападающий" у тебя уже есть, осталось найти остальных членов команды.
Supermax вне форума  
 
Автор темы   Непрочитано 03.11.2007, 16:37
#69
Supermax

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


Ты не переживай, если не "упадешь в борщ", то и примеры будут и функции и даже можно будет немного подзаработать.
Supermax вне форума  
 
Автор темы   Непрочитано 03.11.2007, 17:25
#70
Supermax

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


Shoorup, а не хочешь ли ты, под мою диктовку сделать 3D динамический блок "Болт ГОСТ 7798-70" включающий в себя всю номенклатуру этого ГОСТ-а?
Мы в нем сделам параметр смещения на толщину шайбы, а когда будем делать шайбу, то вставим в нее связанный параметр смещения от болта. Поменял толщину шайбы - болт сместился на эту толщину.
Я конечно не до конца все проэксперементировал. Не знаю пока как будет объект пересохраняться, но по идее должен пересохраняться. Посмотрим в общем.
А так, представляешь, есть динамический блок, где в свойствах можно выбрать любой диаметр, длинну и тип исполнения (длинна резьбы и дырочки в головке и конце болта). И там, в блоке будет твой е-мейл лежать.

Последний раз редактировалось Supermax, 03.11.2007 в 19:50.
Supermax вне форума  
 
Непрочитано 03.11.2007, 22:03
#71
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Shoorup, а не хочешь ли ты...
Хочу!.
Есть просто работа основная, которую бросить не могу... а так в принципе на досуге бы помаялся (хоть мне эти блоки и не пригодятся (не в той отрасли работаю) но ради тренировочки ...). Статью хочется толковую сделать... не буду с ней спешить. Очень много чего интересного встречаю и хотелось бы выбрать моменты которые стоило бы описать в статье.

По поводу блоков чувствую подвох будет со стороны автодеска такое очучение что все эти чудеса с блоками они припасли на потом. Во будет весело когда то что сделаете вы будет в 2009м акаде))
А вообще есть большое желание поэкспериментировать с новыми динамическими блоками...да и вообще узнать что еще с ними можно такое вытворить. Например с ручками хотелось бы узнать... можно ли их как-то по цветам разделить (для удобства), может к ним подписи можно делать (это в сложных блоках). С параметрами видимости хотелось бы делать например такие весчи, чтобы они отображались например не все при выборе блока а например при выборе одного окна отображаются одни, а скрываются другие.
Для чего мне например все это нужно... :::: я работаю в коллективе как с молодыми специалистами так и с теми кто за компьютером дальше пасьянса ничего толком не умеют (у многих такая ситуация). САПР для нашей работы я написать не смогу (покрайней мере сейчас), но я смогу создать им библиотеку д.блоков которыми они смогут пользоваться при минимальных знаниях автокада (некоторые уже пользуются) тем самым сократив время разработки того элементарного чем сейчас занимаются вручную. Т.к. стандартные средства д. блоков весьма ограничены то пришлось отказаться от некоторых в силу их неэффективности или не возможностью создания. Те которые удалось сделать настолько замороченные...(параметров больше чем примитивов) и на них убито столько... много времени (хоть оно и окупается). А те кто ими пользуется думают что над таким блоком минут 10 сидеть... Но все равно приятно когда твою панель с кнопками которые вставляют д.блоки использует пенсионер и за пол минуты делает то что он делал бы минут 15 и причем сделал бы коряво
во написал...писЕц...или пИсец... или писун... ...не точно писЕц!

Последний раз редактировалось Shoorup, 05.11.2007 в 15:37.
Shoorup вне форума  
 
Автор темы   Непрочитано 03.11.2007, 23:00
#72
Supermax

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


В 2009 не будет это точно. Они даже такую нужную команду ка _.-refedit не могут уже с 2006 по 2008 версию починить. Надеюсь хоть тут починят.
Посмотрим, не долго осталось ждать.
Supermax вне форума  
 
Непрочитано 04.11.2007, 00:34
#73
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Хорошая тема. Самому интересно. Тему хотел создать "Интерпретация дин. блоков (только для 2D) с LISPом". Сам хотел ковыряться, но времени малова-то. И Лисп маловато знаю.
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Автор темы   Непрочитано 04.11.2007, 16:37
#74
Supermax

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


Че-то у всех времени маловато? Подозрительно, однако. С кем ни заговори - болтают, болтают, а как до дела доходит - времени маловато. Shoorup говорит - много дел, Kpblc - на две недели взял тайм аут, Елпанов - вообще месяц сказал не может ничего делать. Я так состарюсь дожидаючи.

Э! Але! есть кто желающий сделать 3D динамический блок "Болт ГОСТ 7798-70", или я его один должен делать?
Скучно одному, однако.
Supermax вне форума  
 
Непрочитано 04.11.2007, 18:32
#75
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Сам то чего не сделаешь? Кроме тебя никто не знает как.

Насчет эмуляции клавиш.
Цитата:
Ну пару пленных (я в смысле пару простых лиспов, без окон) мы еще приволочь можем, а так чтобы массово, с криками "банзай" - не.
Вот за деньги - наверное сможем, но со срывом графика производства работ и с очень кислой рожей.
Жадина.
Надыбал прогу которая мне за 5мин забила таблицу Lookup на 800! пунктов. Кто больше?
Вложения
Тип файла: dwg
DWG 2007
Kr_D_Tube.dwg (64.2 Кб, 718 просмотров)
Krieger вне форума  
 
Автор темы   Непрочитано 04.11.2007, 18:50
#76
Supermax

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


Слющай, кто жадина? Я жадина? Я тут распинаюсь, предлагаю научить кого-нибудь и я жадина? Да расковырял я этот нарыв, да и то нея, а Kpblc, с Елпановым, а я так, асистировал и когда они отвернулись сам попробовал поковырять. Я не жадный, я трудолюбивый по необходимости и ленивый до самозабвения, а это две большие разницы.

По твоему блоку:
Ты чего ручки не выключил у диаметров?
Ты чего названия свойств на английском оставил?
Ты про какую прогу тут говоришь? И кто тогда жадина?
Supermax вне форума  
 
Непрочитано 04.11.2007, 19:00
#77
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Цитата:
Я тут распинаюсь, предлагаю научить кого-нибудь и я жадина?
Так научите всех. Мне, правда, болт совсем не нужен.
Profan вне форума  
 
Автор темы   Непрочитано 04.11.2007, 19:04
#78
Supermax

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


Так, я сейчас сваливаю, а завтра открою новую тему, специально для этого болта. По ходу дела кому надо чего-нибудь свое может там же делать и я буду помогать.
Прямо в теме все поэтапно разложим и опишим.
Supermax вне форума  
 
Непрочитано 04.11.2007, 19:53
#79
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Цитата:
Сообщение от Supermax Посмотреть сообщение
Слющай, кто жадина? Я жадина? Я тут распинаюсь, предлагаю научить кого-нибудь и я жадина? Да расковырял я этот нарыв, да и то нея, а Kpblc, с Елпановым, а я так, асистировал и когда они отвернулись сам попробовал поковырять. Я не жадный, я трудолюбивый по необходимости и ленивый до самозабвения, а это две большие разницы.
Жадина-жадина, не одного кода не выложил.

Цитата:
По твоему блоку:
Ты чего ручки не выключил у диаметров?
Зачем?
Цитата:
Ты чего названия свойств на английском оставил?
Привычка...
Цитата:
Ты про какую прогу тут говоришь? И кто тогда жадина?
Держи ссылку, я не жадный, все в народ.
http://www.nstarsolutions.com/store/...age=1&featured
Krieger вне форума  
 
Непрочитано 05.11.2007, 09:09
#80
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Ну и где тема по болту?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 05.11.2007, 15:48
#81
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Krieger Посмотреть сообщение
Держи ссылку, я не жадный, все в народ.
http://www.nstarsolutions.com/store/...age=1&featured
Что то я не нашел там кода.
По твоей ссылке, лежит предложение купить игру...
Елпанов Евгений вне форума  
 
Непрочитано 05.11.2007, 17:31
#82
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Это игра?
Зайди сюда, в конце страницы ссылка на закачку триальной версии:
http://www.nstarsolutions.com/mm/
Или прямая ссылка:
http://www.nstarsolutions.com/mm/mmsetup.exe

Вобщем в программе Macromania делаем макрос последовательности нажатия кнопок и активации программ и она тыкает их за тебя. Например тот блок трубы с таблицей на 800 пунктов я сделал таким макросом:
Код:
[Выделить все]
Repeat 803

Activate Excel
Send {HOME}
Send {DOWN}
Send ^{INSERT}
Activate property lookup table
Send ^V,{TAB}
Activate Excel
Send {tab}
Send ^{INSERT}
Activate property lookup table
Send ^V,^{TAB}
Activate Excel
Send {tab}
Send ^{INSERT}
Activate property lookup table
Send ^V,^+{TAB}
Send {DOWN}
Просто, до неприличия.
Krieger вне форума  
 
Непрочитано 05.11.2007, 17:37
#83
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Ну народ с вами со смеху умрешь!
Извините конечно за флуд, но не сдержался
Krieger ну даешь, просто жесть)))
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Непрочитано 06.11.2007, 13:36
#84
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


умерла тема про блоки и ушли люди...
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 07.11.2007, 20:00
#85
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


>Supermax
Посмотрел твой 3D ФБС, как ты сделал stretch по ширине? Ведь в редакторе блоков 3D не работает, ни ucs повернуть, ни орбиту включить...
Krieger вне форума  
 
Автор темы   Непрочитано 07.11.2007, 20:20
#86
Supermax

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


Если считать шириной толщину блока, то толщин всего-ничего, окнами сделал, а высоту и длинну Stretch.
Про 3D орбит ты не прав. Не работает только в 2007 каде, а в 2006 и 2008 работает преотлично. После выхода из редактора и повторного вхождения восстанавливается вид "план".

У стен не бывает "ширины" только толщина, высота и длинна. Так и у блоков, из которых ее делают.
Supermax вне форума  
 
Непрочитано 07.11.2007, 20:52
#87
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Евгений, чего интересного скажешь?
А мне и сказать нечего...
Пашу на работе, изредка приходят на почту уведомления про ответы в интересующих меня темах - заглядываю на форум
Мне самому не до ответов - читаю новые сообщения, скорее по инерции...
Елпанов Евгений вне форума  
 
Непрочитано 07.11.2007, 22:14
#88
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Как наркотик, не могу себя заставить пол дня в интернет не лезть. И ты подсел, значит.
offtop...
Нет, скорее заставляю себя, иногда, отвлекаться от работы! Как бросил курить - перестал отрываться - это плохо.
Елпанов Евгений вне форума  
 
Автор темы   Непрочитано 08.11.2007, 21:35
#89
Supermax

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


Вот сюда я переполз.

http://dwg.ru/f/showthread.php?t=13937&page=2
Supermax вне форума  
 
Автор темы   Непрочитано 19.11.2007, 14:40
#90
Supermax

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


Вот сюда я выложил программу, которая заполняет Lookup-ы из Excel.
http://dwg.ru/f/showthread.php?t=8940&page=6

Пост№114
Supermax вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Эмуляция нажатия клавиш из под AutoLisp-a



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фундамент "ригель по столбам" под сруб и печь &amp;Rey Основания и фундаменты 25 27.08.2010 19:53