Поради з програмування в AutoCAD.
Можливості Visual Lisp:- Забезпечує всі можливості AutoLISP;
- Робить програмування зручнішим за допомогою Інтегрованої середовища розробки (IDE)
- Удосконалює AutoLisp завдяки підтримці справжніх об'єктів AutoCAD і ActiveX.
- Надає збільшену захист і ефективність за допомогою компіляції Lisp-програм.
Деякі ресурси по Visual Lisp можна знайти на цьому сайті в розділі "Посилання"
Опишіть будь ласка хоч коротко формат лісповскіе захищених файлів.
На початку йде текст "AutoCAD PROTECTED LISP file", після нього CR / LF, далі EOF. Слідом йде однобайтовий ключ, за допомогою якого і осуществяется кодування.
Див. Програму декодування на REXX. Вона не зовсім коректно працює в загальному випадку, але ідея думаю буде зрозуміла. Hепонятно для мене місця відзначені.
Serg Shikov, 2: 5020/52, (RU.ACAD)
Як створювати анонімні блоки в AutoCAD.
Більшість програм AutoLISP, результатом роботи яких є отрисовка об'єктів, що складаються з декількох примітивів (наприклад кокой-небудь спецзнак), мають одним загальним недоліком - намальовані елемент складається з декількох об'єктів і тому, якщо виникне необхідність видалити, перемістити, повернути і т. П. весь об'єкт, то виділити його цілком не завжди зручно. Іноді для вирішення цієї проблеми всі об'єкти спецзнака отрісовиваємих в окремому шарі. Іншим способом є створення таких об'єктів як анонімні блоки. У цьому випадку об'єкт являє собою єдине ціле і оперувати з ним набагато легше. При цьому сам блок в, відміну від звичайного, для користувача не бачимо і його ім'я не з'являється в списку імен блоків при використанні команди insert. У разі видалення отрисовать спецзнака з креслення, анонімний блок, на який посилався цей елемент автоматично видаляється з бази даних креслення при закритті файлу.
Процедура називається (UnBlock pt ss). де
pt - точка вставки об'єкта
ss - набір об'єктів, які треба перетворити в анонімний блок.
ss можна створити за допомогою команди ssget або ssadd.
Процедура UnBlock міститься в файлі UnBlock.zip
У файлі SpSign.zip міститься приклад використання цієї процедури (маленький набір програм відтворення таких спецзнаків як "Розріз" і "Вид").
Як написати лічильник часу на мові AutoLISP?
За допомогою системної змінної CDATE (можливе використання інших змінних).
У потрібних місцях програми слід прочитати поточні дату і час, які повертаються через системну змінну CDATE, наприклад:
У повернутому значенні перед точкою - рік (4 цифри), місяць (2 цифри) і день (2 цифри), після точки - годинник (перші 2 цифри), хвилини (2 цифри), секунди (2 цифри) і соті частки секунди ( 2 останні цифри). Більше 8 десяткових знаків після точки в CDATE отримати не можна.
Обробіть таким чином показання годин на відповідних місцях роботи програми, отримаєте ваші дані.