用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/JohnNuwan/EVA_CORE --skill autolisp-cad-automation命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Concevoir et maintenir un watchdog auto-correcteur pour services HTTP — checks de santé, auto-restart, état persistant, rapports et pièges bash.
Serveur de messagerie sécurisé auto-hébergé (Signal-like) avec Flask + WebSocket + AES-256-GCM + pont EVA
ADAM-SENTINEL — Veilleur technologique 24h/24h. Scanne 10 domaines, cree des rapports, met a jour les skills, alerte sur les CVE et breaking changes.
基于 SOC 职业分类
正在显示 SKILL.md
| name | autolisp-cad-automation |
| description | Développer en AutoLISP pour automatiser AutoCAD et la CAO. |
| version | 1.0.0 |
| author | EVA |
| license | Privée EVA St-Étienne |
| platforms | ["windows"] |
| metadata | {"tags":["autolisp","lisp","autocad","cad","electrical-drawings","dxf","dcl"],"related_skills":["industrial-programming-languages","industrial-exchange-formats"]} |
Cette compétence encadre l'écriture de scripts et de programmes en AutoLISP destinés à piloter AutoCAD (ou GstarCAD/BricsCAD) afin d'automatiser le dessin de schémas électriques industriels, l'extraction de nomenclatures de composants et le traitement par lots de plans d'armoires.
AutoLISP s'appuie sur le paradigme LISP. Tout code ou donnée est représenté sous forme de liste parenthésée (S-expression). Les entités de dessin AutoCAD sont stockées et manipulées sous forme de listes de paires pointées DXF.
defun définit une fonction. Le préfixe c: rend la fonction appelable directement depuis la ligne de commande AutoCAD comme une commande native.
(defun c:HelloEVA ()
(alert "Logiciel d'automatisation de BE EVA actif.")
(princ)
)
setq.
(setq distance 150.0)
(setq point_depart (list 0.0 0.0 0.0))
ssget)Permet de cibler précisément des objets de dessin (par exemple, uniquement les blocs nommés "SYM_DISJONCTEUR" sur le calque "E_PUISSANCE").
(setq selection
(ssget "X"
'(
(0 . "INSERT") ; Entite de type Bloc
(2 . "SYM_DISJONCTEUR") ; Nom du bloc CAO
(8 . "E_PUISSANCE") ; Calque specifique
)
)
)
entget / entmod / entupd)Chaque entité de dessin possède un nom unique (Entity Name). La fonction entget extrait sa liste DXF. Pour la modifier, on reconstruit la paire pointée et on applique entmod.
(setq nom_entite (car (entsel "\nSelectionnez le repere de fil: ")))
(setq donnees_dxf (entget nom_entite))
; Le code DXF 1 represente la valeur textuelle d'une entite texte
; Remplacement de la valeur actuelle par "W01" (repere de fil)
(setq ancienne_paire (assoc 1 donnees_dxf))
(setq nouvelle_paire (cons 1 "W01"))
(setq donnees_dxf (subst nouvelle_paire ancienne_paire donnees_dxf))
; Application de la modification dans la base de donnees de dessin
(entmod donnees_dxf)
(entupd nom_entite) ; Rafraîchissement graphique de l'entite
Ce programme AutoLISP recherche tous les blocs d'attributs de bornes électriques et y injecte le préfixe d'origine ou d'armoire configuré.
(defun c:RenommerBornes ( / ss i ent dxf nom_bornier nouvelle_valeur assoc_dxf)
(princ "\n--- Lancement de la macro de reperage de bornes ---")
; Capture de toutes les bornes (blocs contenant "BORNE_REP")
(setq ss (ssget "X" '((0 . "INSERT") (2 . "*BORNE_REP*"))))
(if ss
(progn
(setq i 0)
(while (< i (sslength ss))
(setq ent (ssname ss i))
; Parcourir les attributs du bloc pour trouver le repere
(setq sub_ent (entnext ent))
(setq continuer T)
(while (and sub_ent continuer)
(setq dxf (entget sub_ent))
(if (= (cdr (assoc 0 dxf)) "ATTRIB")
(progn
; Si le tag de l'attribut est "BORNE_ID"
(if (= (cdr (assoc 2 dxf)) "BORNE_ID")
(progn
(setq valeur_actuelle (cdr (assoc 1 dxf)))
; Ajouter le prefixe d'armoire "-X1:"
(setq nouvelle_valeur (strcat "-X1:" valeur_actuelle))
(setq assoc_dxf (assoc 1 dxf))
(setq dxf (subst (cons 1 nouvelle_valeur) assoc_dxf dxf))
(entmod dxf)
(entupd sub_ent)
)
)
(setq sub_ent (entnext sub_ent))
)
(setq continuer nil) ; Fin des attributs du bloc
)
)
(setq i (1+ i))
)
(princ (strcat "\nTraite : " (itoa i) " bornes avec succes."))
)
(princ "\nAucun bloc de borne trouve dans ce plan.")
)
(princ)
)
Pour permettre au dessinateur-projeteur du bureau d'études de configurer les variables, AutoLISP s'interface avec des fichiers .dcl de définition de boîtes de dialogue.
// Fichier config_bornes.dcl
config_bornes : dialog {
label = "Configuration Reperage EVA";
: edit_box {
label = "Prefixe Armoire :";
key = "eb_prefix";
edit_width = 15;
}
ok_cancel;
}
Chargement et appel en AutoLISP :
(setq dcl_id (load_dialog "config_bornes.dcl"))
(if (new_dialog "config_bornes" dcl_id)
(progn
(set_tile "eb_prefix" "-X1") ; Valeur par defaut
(action_tile "accept" "(setq prefixe (get_tile \"eb_prefix\")) (done_dialog 1)")
(action_tile "cancel" "(done_dialog 0)")
(setq resultat (start_dialog))
(unload_dialog dcl_id)
)
)