Si vous avez besoin d'un logiciel pour étendre les capacités de votre logiciel de CAO (Revit, AutoCAD, Inventor, Vault, Navisworks, Solidworks, SketchUp...), vous êtes au bon endroit. Depuis 2008, je suis spécialisé dans le développement de ce type de programme.

Contactez moi au (+33) 6.46.40.75.66 ou par E-mail (maxence.delannoy@wiip.fr) pour un devis gratuit.

Revit : outil pour supprimer directement une pièce

Sur un des projets sur lesquels nous travaillons actuellement, je suis amené dans le cadre de mes tests à devoir supprimer des pièces. Le problème, c'est que Revit ne supprime pas les pièces quand on les sélectionne et qu'on appuie sur Suppr, mais il les détache du modèle géométrique. Elles restent affichées dans la nomenclature des pièces avec la mention Non placée et il faut les supprimer à partir de là.

Etiquettes:

Votre première macro VSTA avec Revit

Autodesk Revit propose une interface de programmation (Application Programming Interface ou API) qui permet d'automatiser certaines tâches. L'approche la plus simple pour développer un programme consiste à utiliser VSTA (Visual Studio Tools for Applications) qui est le successeur de VBA (Visual Basic for Application) et qui est disponible dans Revit depuis la version 2009.

Etiquettes:

WIIP est sur Google+

Bonnes pratiques développement AutoLISP

Quelques règles à respecter pour faciliter la maintenance de vos programmes AutoLISP.

Etiquettes:

Construire dynamiquement le nom d'une fonction AutoLISP

Supposons que vous avez défini deux fonctions : f1 et f2. Vous voulez appeler l'une ou l'autre en vous basant sur le contenu d'une variable a qui contient 1 ou 2.

Etiquettes:

Créer un calque en AutoLISP sans passer par la commande CALQUE

On utilise d'abord tblsearch pour vérifier que le calque n'existe pas déjà, ensuite on crée une liste de définition d'entité et finalement on utilise entmakex :

Etiquettes:

L'opérateur ternaire en PHP 5.3

Depuis la version 5.3 de PHP, on peut omettre la partie centrale de l'opérateur ternaire. C'est bien pratique pour définir une valeur par défaut :

<?php
$a 
false;
$a $a ?: 'default';
var_dump($a); // Affiche "default"

$b 'Foo';
$b $b ?: 'default';
var_dump($b); // Affiche "Foo"
?>

Etiquettes:

strpos avec une expression régulière

Vous le savez certainement, strpos ne supporte pas les expressions régulières. Pourtant il y a des situations où il peut être utile de trouver une position dans une chaîne en profitant de la souplesse offerte par les expressions régulières. PHP ne propose pas de fonction preg_pos, mais il y a une option de preg_match qui nous permets d'avoir un équivalent de strpos : PREG_OFFSET_CAPTURE. Quand ce drapeau est positionné, preg_match renvoie en plus des chaînes qui correspondent au motif la position où elles ont été trouvées :

<?php
$str 
"The quick brown fox jumps over the lazy dog";
if (
preg_match('/(fox|dog)/'$str$matchesPREG_OFFSET_CAPTURE)) {
    
// Affiche First animal at 16 
    
echo 'First animal at '.$matches[1][1];
}
?>

Etiquettes:

Script PHP pour conversion CP850 (DOS) en ANSI

J'ai récupéré un paquet de petit programmes encodés en CP850 (DOS) que je voulais convertir en ANSI (Windows). N'ayant pas trouvé d'utilitaires pour faire ça (sur Windows), j'ai écrit ce petit script PHP :

Etiquettes:

Fuseaux horaires avec PHP et MySQL

Représentation des dates

Pour localiser un événement précisément dans le temps, on a besoin de trois informations : la date (16/08/2011 par exemple), l'heure (18:12:00) et le décalage par rapport au temps universel coordonné (UTC). Dans un entête de courrier électronique, par exemple, la date d'expédition est encodée de la façon suivante :

Etiquettes:

Pages

Subscribe to WIIP RSS